Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open class Animal
- class Cat() : Animal() {
- fun myaw() {
- System.out.println("myaw!");
- }
- }
- class Dog() : Animal() {
- fun gav() {
- System.out.println("dog!");
- }
- }
- // Usage:
- // val list = mutableListOf<Int>()
- // list.addAnything("string")
- // val fail = list[0]
- private fun <E> List <E>.addAnything(element: E) {
- if (this is MutableList<E>) {
- this.add(element)
- }
- }
- fun main() {
- val cats = mutableListOf<Cat>(Cat(), Cat())
- val upcast: List<Cat> = cats
- val covariance: List<Animal> = upcast
- val animals: MutableList<Animal> = covariance as MutableList
- animals[0] = Dog()
- for (cat in cats) {
- cat.myaw()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement