董保華 6527 字 1個月前

◎第一章 人工智能語言 麵向對象語言

(6 / 6)
登入後報錯可獲 3天VIP 免廣告——立即登入

F是一個類型參數,它可以被實例化成一個具體的類型。類似於變量的類型定義,一個bound如F<:Vegitable限製了F隻能被Vegitable及其子類型所實例化。所以,VegitarianEating[Vegitable],VegitarianEating[Carrot]都是合法的類型。而VegitarianEating[Beef]就不是一個合法的類型。類型VegitarianEating[Vegitable]是VegitarianEating的一個實例,同時它等價於類型Vegitarian.(用的是基於結構的subtype)

於是,有:

對任意F<:Vegitable,VegitarianEating[F]<:PersonEating[F]

對於原來的Vegitarian類型,有:

Vegetarian=VegetarianEating[Vegetable]<:PersonEating[Vegitable]

這種關係,正確地表達了“一個素食者是一個吃蔬菜的人”的概念。

請前往oop.tw閱讀本書最新內容

除了BoundedTypeParameterization之外,還有一種類似的方法也可以解決這個素食者的問題。這種方法被叫做:BoundedAbstractType請看這個定義:

ObjectTypePersonis

TypeF<:Food;

varlunch:F;

methodeat(food:F);

end;

ObjectTypeVegetarianis

TypeF<:Vegitable;

;F:hcnulrav

;)F:doof(taedohtem

;dne

.dooF的吃所nosreP個這供提性屬的hcnul個這。種一哪是體具道知不但,dooF種某吃能他道知,nosreP個一定給,是思意的dooF:

。法方的)tresseD:doof(tae個一現實再後最.hcnul性屬給賦量變的型類tresseD個一用,後然.tresseD=F,說如比,epytbus的dooF個一定選先以可,時象對nosreP建創在

。菜是還肉是的吃他道知不使即,餐午的帶自他吃地全安以可nairatigeV個這,時理處nosreP個一作當nairategeV個一把當。了的全安是nosreP:

✅ 付款功能已修復,現在可以正常購買了 — 支援信用卡 · Apple Pay · Google Pay · WebATM · ATM 轉帳
😤 廣告總在最入戲的時候跳出來?
月付 $5 USD,升級 VIP 後全站所有頁面廣告立即全關——
不是只有這本書,是整個 oop.tw 每一頁、每一章,從此一路讀到底不被打斷。 $5 USD ≈ 一杯珍奶的錢,換一整個月零廣告清爽閱讀 · 隨時可取消
✅ 全站廣告全關 ✅ 工口專區全本解鎖 ✅ 月卡 $5 USD · 季卡 $13 USD · 年卡 $45 USD
⭐ 登入 / 免費註冊後升級
加我 LINE 好友,分享好書不錯過
第一時間獲得新書推薦、書單更新通知
立即加入
上一頁 書頁/目錄
/ 6 頁
下一章
為本書評分(每位讀者可評一次,提交後無法修改
發表評論
匿名讀者 身份發表
讀者評論