How to teach a Pokémon new abilities?


As the title already states: What are all the ways in which a Pokémon can gain new abilities? Aside from level-up. Thus, methods that would mean it ends up with more and/or other abilities than it’d naturally have.