舉例說明java物件導向思想的體現 抽象類 介面

2021-07-25 17:12:35 字數 2722 閱讀 3186

物件導向思想概述

隨著需求的更改,功能的增多,需要把不同的功能進行封裝,其中功能類似的封裝在一起,這樣一來結構就清晰了很多。用的時候找到對應的類就可以了。這就是物件導向的思想。

物件導向是一種更符合我們思想習慣的思想,可以將複雜的事情簡單化。學習程式語言,就是為了模擬現實世界的事物,實現資訊化。

物件導向和面向過程的區別

面向過程強調的是每乙個功能的步驟;物件導向強調的是物件,然後由物件去呼叫功能。

物件導向的特點

(1)封裝(encapsulation);

(2)繼承(inheritance);

(3)多型(polymorphism)

下面來舉乙個例子展示物件導向思想 /*

*教練和運動員案例

*    桌球運動員和籃球運動員。桌球教練和籃球教練。

*    為了出國交流,跟桌球相關的人員都需要學習英語。

*請分析這個案例中有哪些抽象類,哪些介面,哪些具體類?

*    教練和運動員都是中國人,人可作為此處的頂級抽象類;

*    教練可作為人的抽象類,子類有桌球教練、籃球教練;

*    運動員可作為人的抽象類,子類有桌球運動員、籃球運動員;

*    額外的技能(學習英語)可作為介面,由桌球運動員類去實現; */

//中國人抽象類

abstract

class

chinese

public chinese(string gender,string name,int age)

public

void

sleeping()

public

abstract void eating();

public

void

setname(string name)

public

string getname()

public

void

setgender(string gender)

public

string getgender()

public

void

setage(int age)

public int getage() }

//定義介面,已擴充套件桌球有關的子類功能

inte***ce speakenglish

//教練抽象類

abstract

class

coachextends chinese

public

coach(string gender,string name,int age)

public abstract void teach(); }

//運動員抽象類

abstract

classathleteextends

chinese

public

athlete(string gender,string name,int age)

public abstract void training(); }

//籃球教練子類

class basketballcoach extends

coach

public

basketballcoach(string gender,string name,int age)

public

void

teach()

public

void

eating() }

//桌球教練子類

class

pingpongcoachextends

coachimplementsspeakenglish

public

pingpongcoach(string gender,string name,int age)

public

void teach()

public

voidspeakenglish()

public

void

eating() }

//籃球運動員子類

class

basketballathletextends

athlete

public

basketballathlet(string gender,string name,int age)

public

void

training()

public

void eating() }

//桌球運動員子類

class

pingpongathleteextends

athleteimplementsspeakenglish

public

pingpongathlete(string gender,string name,int age)

public

void

training()

public

void

speakenglish()

public

void

eating() }

//執行結果

class

caseabstractinte***ce }

執行效果:

舉例說明物件導向和面向過程的區別

兩種方法都是程式設計中的比較常用的方法,從理論上來說,都能達到用電腦程式來解決實際問題的目的,只不過是其中所體現出來的思想不一樣而已。面向過程 面向過程的思想是把乙個專案 一件事情按照一定的順序,從頭到尾一步一步地做下去,先做什麼,後做什麼,一直到結束。這種思想比較好理解,其實這也是乙個人做事的方法...

java 設計模式舉例說明

1,單例設計模式 packageorg.test classa public statica getinstance public classtestdemo 2,工廠設計模式 客戶端不再與具體的子類聯絡在一起。packageorg.test inte cefruit classfruit clas...

物件導向設計基本原則(舉例說明)

單一職責原則 srp 就乙個類而言,應該僅有乙個引起它變化的原因。如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。舉例說明 設計俄羅斯方塊遊戲,把遊戲介面和邏輯進行分離...