2 3 Java物件導向程式設計 繼承性

2021-09-14 03:47:29 字數 3036 閱讀 4636

物件導向的三大特性:

類中名字的格式system.out.println("school = "+school+"; age = "+age)語法理解override:子類繼承父類的方法,也可以覆寫

示例**如下:

/*ext3*/

class

person

}public

intgetage()

public

void

printinfo()

}class

student

extends

person

public string getschool()

/*構造方法*/

public

student

(string school)

/* override */

public

void

printinfo()

}public

class

ext3

}

示例**:

/*ext4*/

class

person

}public

intgetage()

public

void

printinfo()

/*構造方法1*/

public person (

)/*構造方法2*/

public person (

int age)

}class

student

extends

person

public string getschool()

/*構造方法*/

public

student

(string school)

/* override */

public

void

printinfo()

}public

class

ext4

}

看不到父親的絕招:私有方法不能被子類訪問

不能把祖傳的招式私吞了:子類覆寫的方法不能縮小許可權

父類中含有私有方法func1,如果子類中public方法的名字和父類的這個私有方法func1同名,那麼這裡不能稱子類對父類的override,因為子類不知道父類有這樣的乙個方法

示例**如下:

/*ext5*/

class

father

public

void

setmoney

(int money)

public

void

printinfo()

private

void

printinfo2()

/*私有方法*/

}class

sonextends

father

/*override */

public

void

printinfo2()

/*this is not override*/

}public

class

ext5

}

作用:規定子類必須實現的方法,起「模板」作用

抽象類不能夠例項化物件

所以說如果要使用抽象類,就必須讓它的子類實現抽象類的所有抽象方法

示例**:

/*ext6*/

abstract

class

father

public

void

setmoney

(int money)

public

abstract

void

study()

;/*abstract function*/

}class

sonextends

father

/*implement abstract function*/

}public

class

ext6

}

乙個子類可以實現多個介面;但是子類必須實現介面裡面的所有抽象方法

介面裡面的屬性全部都是常量,不是變數,所以不能被修改

子類可以在繼承多個介面的同時,繼承乙個父類或者抽象類

示例**:

/*ext7*/

/*abstract class*/

abstract

class

father

public

void

setmoney

(int money)

public

abstract

void

study()

;/*abstract function*/

}inte***ce

ainte***ce

b/*extends father class, and implements inte***ce */

//子類可以在繼承多個介面的同時,繼承乙個父類或者抽象類

class

sonextends

father

implementsa,b

/*implements abstract function*/

public string getname()

/*implements abstract function*/

public

void

study()

/*implements abstract function*/

}public

class

ext7

}

PHP 物件導向程式設計之繼承性

可以有多層繼承,即乙個類可以繼承某乙個類的子類,如類 b 繼承了類 a,類c 又繼承了類 b,那麼類 c 也間接繼承了類 a。class a class b extends a php是單繼承,乙個類只能有乙個父類 乙個類可以有多個子類 支援多層繼承 classa class bextends ac...

GO 物件導向 繼承性

首先我們需要定義父級的結構體和方法 然後在寫孩子的結構體和方法 從而就會有三種形式 在學到這一步貌似go的繼承比php的要簡單的多 go的繼承只需要把父級的結構體名直接放到裡邊就行 繼承後可以訪問父級的屬性和方法 也可以訪問自己的專有屬性 同時還擁有重寫父級方法 所有案例都配備有 直接扔進去就可以執...

C 物件導向程式設計的繼承性(二)

介面是物件導向中乙個非常重要的概念,而且,物件導向中的繼承性和多型性主要都是通過介面來體現的。1 介面概述 介面是一種用來定義程式的協議,它描述可屬於任何類或結構的一組相關行為,可以把它看成是實現一組類的模板。介面可由方法 屬性 事件和索引器或這4種成員型別的任何組合構成,但不能包含字段。類和結構可...