背景:物件的例項變數能被隨意的呼叫,例:student.score = 98;可視為遠端控制修改student的例項變數;如果有人設定為student.score = 0;會造成嚴重的後果;
solution:對所有的例項變數建立setter方法,強制呼叫程式必須呼叫setter方法對例項變數進行訪問。
private
int score;
public
void
setscore
(int chinesescore)
}
基本原則:將例項變數標記為私有(private),提供公有(public)的getter和setter方法進行訪問。
定義:設計繼承時,我們會把共同的程式**放到乙個類中,「子類繼承父類」:意味著子類繼承了父類的屬性和方法。子類可以加入自己的方法和例項變數,當子類定義的方法與父類的方法出現重名,則覆蓋。
注:1、子類會繼承父類public型別的例項變數和方法,private型別的不繼承。2、如果不想某個方法被覆蓋,該方法用final修飾。
public
class
phone
}
public
class
huaweiphone
extends
phone
void
facerecognition()
}
判斷:使用is-a進行測試,例:三角形是乙個多邊形(正確),外科醫生是乙個醫生(正確),澡盆是乙個浴室(錯誤)。
前置:先看一般宣告和引用的方法。
dog dog =
newdog()
;
1、宣告乙個引用變數:dog dog
2、建立物件:new dog()
3、引用和物件進行連線:=
注:引用型別和物件的型別相符。引用型別可以是實際物件型別的父類:
animal dog =
newdog()
;
引數和返回型別也支援多型:
public
class
testphone
}class
testres
}
C 物件導向的三個特性
c 的三個特性 繼承 多型 封裝 繼承 派生類。子類會繼承父類的方法和成員變數。多型 過載 函式過載和運算子過載 和虛函式 虛函式和純虛函式 同樣的函式名 運算子 執行不同的函式實體 操作 封裝 類是 物件導向程式設計語言中的乙個概念。類是對某個物件的定義。它包含有關物件動作方式的資訊,包括它的名稱...
Java物件導向的三個特性
類 變數 方法 屬性 構造器 類 物件 成員變數 構造器 方法必須通過物件來呼叫 要點 animal a newdog a首先是乙個animal型別的引用,a又是乙個dog型別的物件 編譯器 a是animal型別 編譯時型別 jvm a是dog型別 執行時型別 1.過載 同乙個類中,方法名相同,引數...
物件導向的三個特性 封裝
物件導向的三個特性 封裝 繼承 多型 1.封裝 目的 讓類更加安全,不讓外界直接訪問類的成員 具體做法 將成員設為私有 訪問修飾符 class ren r new ren echo r age 訪問不到 造成員方法來操作變數 class ren function getage r new ren r...