類可以是另乙個類的物件嗎?

時間 2021-06-02 11:56:08

1樓:有丘直方

喲嚯,居然會有人在學Python的時候問出這個問題?

是時候推薦一波Ruby了。

Ruby中存在乙個非常、非常、非常(至少是對於很多其他語言的程式設計師來說)神奇的類,名字叫Class。

所有的類都是Class類的例項,包括Object,甚至Class也是Class的例項。

而且在Ruby中你可以用Class.new來建立乙個類(或者說,Class的例項。實際上在Ruby中,在這樣的設定下,「類」和「例項」這兩個概念出現了一些神奇的關係……)。

2樓:布林

看了前面幾個回答,說一下……

oo一共有兩種形式,基於類和基於原型,你的問題在基於原型中可以說是乙個不錯的思想。

在基於類中,如果你是以面相介面或者父子類來理解我覺得也不算過分,畢竟只是一種設計方式的差異。裡式替換原則就是這樣說明的。。。

理解好oo的重要兩個特徵即可,不同理解不同方式。

3樓:泰州老替

類是設計圖紙,乙個模版,乙個製作說明,物件是按圖紙造出來的實體,具有類所定義的屬性與介面。

結合題主的問題,男人可以作為是小明這個物件的屬性的賦值,在人類這個類裡面的性別屬性定義裡面的賦值=男人。

如果把男人定義為類的話,也可以用繼承類的概念來做,男人這個類繼承了人類這個類,有人類所有的除了性別以外的所有屬性和介面,小明可以作為男人這個類的例項物件。

4樓:Leedy

少年,你能問出這樣的問題說明你骨骼精奇,來學 Ruby 吧!

1.class

=> Fixnum

1.class.class

=> Class

1.class.class.class

=> Class

以下是正經答題

小明.class

=> 男人

男人.class

=> Class

男人.superclass

=> 人

人.class

=> Class

小明.instance_of? 人

=> false

小明.is_a? 人

=> true

5樓:依雲

object 類就是 type(元)類的例項。這是乙個二層的結構(有類,有元類,但是沒有「元元類」;類似的例子有很多,比如FP中,有普通函式,有高階函式,但沒有「高高階函式」;型別理論中,有普通型別,有高階型別(HKT),但是也沒有更高的了;在認知中,有具體概念,有抽象概念,但是沒有「抽象的抽象概念」……)。這不是樹狀結構(比如序數)。

PS: 別把 OOP 的概念對映到現實生活中來理解(當然你可以把現實生活中的物件關係對映到 OOP 中來建模)。

PPS: 想要搞研究而不搞實踐,你可以去折騰型別理論、抽象代數、範疇論什麼的。

PPPS: 「男人」是「人」的子集。「小明」是這兩個集合中的元素。

你去過另乙個世界嗎?

極樂湯阿里阿里咯胡咯 沒怎麼用過知乎,所以還不是弄的特別清楚。發了這個後我以為不會收到回覆,今天意外發現居然有這麼多朋友的答覆。有很多時候,我都覺得有另外乙個自己的存在,她和我共同住在這個身體裡,只不過我的夜晚才是她的白天,我的白天才是她的夜晚。所以我才必須要睡覺,而且睡一定時間一定要起來,不然就會...

真的有另乙個你嗎?

琉璃月 可能真的有吧,我覺得他和自己應該就想太極的陰陽兩面一樣,注定會有截然相反的人生。兩人的人生,互補互缺,他擁有的你缺少,你擁有的他遺失。 我喝過綠豆湯 記得以前看過一段話,好像是張嘉佳的。你要相信世界上有另乙個你,過著與你相反的生活。你失戀的時候她正在戀愛,你丟錢包的時候他正在揀到錢包,你成績...

乙個全域性函式 內部返回乙個類的靜態物件的引用 也是可以達到類似單例的效果 怎麼解釋

Jon Lee 注意 Meyer s singleton 在多執行緒時,C 03 下不是thread safe的。從C 11 起變成thread safe了 也有稱之為magic statics 的 Jeson Chen 為什麼會有這種效果和出處已經有人說了,就是靜態物件的生存週期問題。原因書上有說...