物件導向程式設計(oop,object(物件) oriented(面向) programming(程式設計))
是將現實世界中的概念模擬到電腦程式中,它將現實世界中的所有事物視為物件。
萬物皆物件 類為產品的藍圖,物件為乙個產品。
blueprint manufacture = new blueprint();
例如一輛汽車 屬性有顏色,速度;方法有加速,減速。
class car //定義乙個car類
void slowdown() //減速
}我們平日要看電視,只需會用遙控器就可以了,而無需了解電視的內部構造。
這種內部資訊的隱藏就叫做『封裝』
public class tv //定義乙個tv類
}訪問修飾符
public 可被所屬類的成員以及不屬於類的成員訪問
internal 可被當前程式集訪問
protected 可被所屬類或派生類的型別訪問
private 僅所屬類的成員才可以訪問
電視機從黑白到彩色再到高畫質晰,無論怎麼變都會有影象與聲音,下一代繼承上一代的特點並有所發展。
這個就叫做『繼承』
class cleartv:tv //定義派生類cleartv繼承於基類tv
乙個洗衣機可以根據放進衣服的骯髒程度來判斷所需的洗滌時間,這種功能就叫做多型。
方法過載
public class washer //洗衣機
void abstersion(long dinginess) //骯髒衣服的洗滌方法
}方法重寫
我想把騎自行車的速度變成汽車那麼快
class bicycle
}class car:bicycle
}抽象方法
抽象方法的目的在於指定派生類必須實現與這一方法關聯的行為。
abstract class abc //抽象類abc
class derv:abc //派生類
}基類實現了抽象類,則派生類不需要重新實現該抽象類。
abstract class myabs //抽象類
class myclass:myabs //派生類
}class submyclass:myclass //派生自myclass的子類
}class myclient
}如果你還認為輸出結果是:
在myclass中實現的抽象方法
在submyclass中未實現的抽象方法
那就錯了!。
正確輸入結果:
在submyclass中未實現的抽象方法
記住 派生類不需要重新實現該抽象類!
程式設計高手不是看原理看出來的,而是靠**打出來的。我也用所學練習一下。
建立乙個shape類,此類包含乙個名為_color的資料成員(用於存放顏色值)和乙個getcolor()方法(用於獲取顏色值)。這個類還包含乙個名為getarea()的抽象方法。用這個類建立名為circle(圓形)和square(正方形)的兩個子類,這兩個類都包含兩個資料成員,即_radius和_sidelen 這些派生類應提供getarea()方法的實現,以計算相應形狀的面積。
abstract class shape
public abstract void getarea();
}class circle : shape
,面積為的圓形", _color, _radius * _sidelen);}}
class square : shape
,面積為的正方形", _color, _radius * _radius);}}
class test
}控制台輸出:
輸入顏色:
blue
輸入圓形半徑:
5顏色為blue,面積為15.7的圓形
輸入顏色:
red輸入正方形邊長:
5顏色為red,面積為25的正方形
(自學)物件導向
物件導向設計原則 敏捷軟體開發 摘抄自 敏捷軟體開發 原則 方法與實踐 robert c.martin 1 srp 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。職責即為 變化的原因 2 ocp 開放封閉原則 軟體實體 類 模組 函式等 應該是可以擴充套件的,但是不可修改。對於擴充套件是...
Python物件導向自學(一)
1.定義乙個類 class demo 表示繼承時有括號 pass這樣就簡單定義出乙個類 2.根據類例項化乙個物件 class demo 表示繼承時有括號 pass one demo one就是根據demo這個類建立出來的乙個物件3.增加訪問屬性 一 直接通過物件動態新增 class demo 表示繼...
Kotlin自學日記之物件導向
物件 類 繼承 封裝 多型 物件的含義是指具體的某乙個事物,即在現實生活中能夠看得見摸得著的事物。在物件導向程式設計中,物件所指的是計算機系統中的某乙個成分。在物件導向程式設計中,物件包含兩個含義,其中乙個是資料,另外乙個是動作。物件則是資料和動作的結合體。物件不僅能夠進行操作,同時還能夠及時記錄下...