開発環境
- macOS Mojave - Apple (OS)
- Windows 10 Pro (OS)
- IntelliJ IDEA CE(Community Edition) (IDE(統合開発環境))
- Kotlin (プログラミング言語)
Head First Kotlin: A Brain-Friendly Guide (Dawn Griffiths(著)、David Griffiths(著)、O'Reilly Media)のChapter 10(generics - Know Your Ins from Your Outs)、Sharpen your pencil(321)の解答を求めてみる。
コード
open class Food
class VeganFood : Food()
interface Seller<out T>
class FoodSeller : Seller<Food>
class VeganFoodSeller : Seller<VeganFood>
interface Consumer<in T>
class Person : Consumer<Food>
class Vegan : Consumer<VeganFood>
fun main() {
var foodSeller: Seller<Food>
foodSeller = FoodSeller()
foodSeller = VeganFoodSeller()
var veganFoodConsumer: Consumer<VeganFood>
veganFoodConsumer = Vegan()
veganFoodConsumer = Person()
}入出力結果
Process finished with exit code 0
0 コメント:
コメントを投稿