1樓:憤青小店
子類例項可以呼叫父類的所有public 和 protected方法,父類例項可以用子類例項來實現。
2樓:德州明哲級
子類把同乙個類帶入乙個範圍,比喻方式引入例子。兩者相同點和不同點。
父類和子類的關係是什麼
3樓:陝西it優就業
父類和子類是繼承關係。
三種繼承方式。
繼承;繼承;
繼承;組合結果。
基類中 繼承方式 子類中:
public & public繼承 => public;
public & protected繼承 => protected;
public & private繼承 = > private;
protected & public繼承 => protected;
protected & protected繼承 => protected;
protected & private繼承 = > private;
同時有三種訪問許可權:
public:可以被任意實體訪問;
protected:只允許子類及本類的成員函式訪問;
private:只允許本類的成員函式訪問;
private & public繼承 => 子類無權訪問;
private & protected繼承 => 子類無權訪問;
private & private繼承 = > 子類無權訪問;
public成員所有的類都可以訪問;
private成員只有本類能訪問;
protect成員只有本類和子類能訪問。
總結:1、public繼承不改變基類成員的訪問許可權;
2、private繼承使得基類所有成員在子類中的訪問許可權變為private;
3、protected繼承將基類中public成員變為子類的protected成員,其它成員的訪問 許可權不變;
4、基類中的private成員不受繼承方式的影響,子類永遠無權訪問。
此外,在使用private繼承時,還存在另外一種機制:准許訪問 。
乙個子類可以有乙個父類,但乙個父類可以有多個子類
4樓:l吉吉學長
子類只能有乙個父類,但是乙個父類可以有多個子類,比如「老師」這個類,子類可以是女老師,也可以是男老師,老師的父類可以是「職位」,可以說老師有男老師,有女老師,但不能說職位有男老師,女老師,也就是乙個has a和is a的關係。
乙個類只能有乙個直接父類(可以是抽象類),但可以充實實現多個介面。乙個類使用extends來繼承抽象類,使用implements來實現介面。
5樓:手機使用者
乙個父類最多可有乙個親類,乙個親類最多可有乙個直系孫類。直系祖先與直系子孫之間在親緣關係上的遠近,是用直系祖先數來量度的。如馬、驢、騾等動物都有馬、驢、騾3種直系祖先。
同乙個祖先的直系孫類在形態上往有很多差異,這是因為不同的直系孫類都是從祖先那裡遺傳來的,而形態上的差異正是來自不同的直系祖先,因此,不同的直系孫類在形態上往有很多差異。例如,驢和馬的直系祖先都是馬,但是驢和馬的直系祖先在形態上卻有很多差異。
j**a的父類和子類的關係有哪些?
6樓:網友
你問的是具體的父類和子類麼,一般來說繼承是其中一種。但是通常也會認為介面實現是實現「多繼承」的方法。但是並不叫實現雙方叫父類子類。
7樓:網友
子類可以繼承父類的方法和屬性;我也是剛學,知道的不多。
子類在什麼情況下必須實現父類中的方法?
8樓:篤俠
大概有如下兩種情況:
1)父類是抽象類(含有純虛擬函式),子類不再用於派生更下一級的子類了,這時,子類必須實現父類中的方法。
2)對於父類中的某個方法,子類中需要改變其功能,這時,子類必須重新實現父類中的方法。
j**a關於子類和父類構造方法的關係,犯迷糊!!
9樓:網友
把int x,int y 理解成乙個方法的區域性變數 呼叫這個構造方法的時候會先給x跟y賦值。
之後super(x,y)就是把 這個區域性變數的值 傳給 父類。 就這樣- -
10樓:網友
初始化子類時會先呼叫父類的構造方法,父類如果重寫了構造方法(也就是隱藏了預設的構造方法)那麼子類在構造方法的第一句必須顯示的呼叫父類的構造方法為父類進行初始化。
son(int x,int y)和father(int x,int y)中(int x,int y)只是形參,也就是個佔位符,構造son物件時傳入的實參x,y其實被傳入到父類中進行初始化父類的操作,不存在是不是同乙份的概念。
this()這句話當然是呼叫自己的無參構造方法。
j**a子類例項化時是否同時存在乙個父類物件?
11樓:惠企百科
不會產生父類物件,只是用了父類的建構函式而已,並不是用到建構函式就會產生物件,建構函式只是起物件初始化作用的,而不是起產生物件作用的,如果new a();即只有new語句才會產生父類a的物件。
1)變數是靜態繫結 ,方法是動態繫結。 這裡面變數在編譯純滾期間實現了變數呼叫語句與變數定義賦值語句的繫結,繫結的自然是父類的,因為呼叫時型別是父類的,所以值是父類中定義做雀餘的值 。
2)其實可以這麼理解,建立了乙個子類物件時,在子類物件記憶體中,有兩份這個變數,乙份繼承自父類,乙份子類。
3)絕對不會產生父類物件,父類中的成員被繼承到子類物件中,用指向子類物件的父類引用呼叫父類成員,只不過是從 子類物件記憶體空間中找到那個被繼承來的父類成員,也就是說實質是用子類物件呼叫變數a,這樣就可以解釋成員必須通過物件呼叫的規定,只不過這時呼叫的是子類物件中的繼承自父類的a(子類物件中有兩個a,乙個繼承自父類歲搭,乙個屬於自己)。
php,子類無法訪問父類私有屬性,子類例項化再賦值後,子類所新增的新成員屬性不存在
這兩句沒問題 student1 dance student1 say 問題出在這三句 student1 name zhangsan student1 age 20 student1 gender male 這三個都是私有成員,不能直接賦值,可以在基類中實現公共的set方法或者建構函式來賦值。 隋龍飛...
例項成員和類成員的區別,類成員變數和例項成員變數分別指什麼有什麼區別
1全部1.例項成員 例項成員包括例項成員變數和例項成員方法,例項成員變數 物件的欄位 和方法 物件的方法 是隸屬於物件的,例項變數的值代表了該物件的狀態,例項成員方法代表了該物件的行為。只有建立了物件之後才能訪問例項成員變數和例項成員方法,通過 物件名.變數名 方法名 的方法可以訪問例項成員 2.類...
python如何得到類的所有例項
import gc class dog object def init self,name self.name name dahuang dog 1 xiaobai dog 2 for obj in gc.get objects if isinstance obj,dog print obj.nam...