閱讀706 返回首頁    go 技術社區[雲棲]


用java進行麵向對象編程,麵向對象是什麼意思

理解Java麵向對象的重要知識點:

一、 類,對象

類?首先舉一個例子:小李設計了一張汽車設計圖,然後交給生產車間來生產汽車,有黑色的、紅色的、白色的... 這裏,汽車設計圖就是我們說的類(class),生產車間就是new構造器(大部分對象都是new出來的),生產出來的汽車就是我們要說的對象。可以說java編程實質就是構建類的過程。

用java進行麵向對象編程,麵向對象是什麼意思

對象?萬物皆對象,宇宙中,如植物,動物,人類,每個個體都是各司其職、各盡所能的。這就要求對象高內聚、低耦合(簡單理解就是人的大腦,它負責思考,想象,記憶,而不能唿吸,排毒,消化食物,從而保證它獨立和高效)。如果你想學習java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裏麵有大量的學習資料可以下載,對象具有兩種東西狀態(屬性)和行為(方法),請看下麵代碼:

Student.java

用java進行麵向對象編程,麵向對象是什麼意思

public class Student {

用java進行麵向對象編程,麵向對象是什麼意思

InitialStudent.java

用java進行麵向對象編程,麵向對象是什麼意思

public class InitialStudent { public static void main(String args[]){
} }

用java進行麵向對象編程,麵向對象是什麼意思

二、封裝,繼承,多態

封裝?舉個粗俗的比喻,我的移動硬盤存了很多各式各類的資料,但是舍友常常借用,時不時拿我的用(格式化?裝係統?存電影?),這就給我這個擁有者非常大的不便,我就跟他聲明,這個硬盤是我私有的,不能你得按照我允許的方式使用!對象也是這樣,不能隨意的存取內部數據,否則會造成“交叉感染”。所以我們需要封裝:將屬性私有化,提供公有的方法訪問私有屬性。

Adult.java

用java進行麵向對象編程,麵向對象是什麼意思

public class Adult { private int age; public int getAge() { return age;

用java進行麵向對象編程,麵向對象是什麼意思

TestAdult.java

用java進行麵向對象編程,麵向對象是什麼意思

public class TestAdult { public static void main(String[] args) {

用java進行麵向對象編程,麵向對象是什麼意思

繼承?經理覺得小李設計的汽車設計圖非常棒,但是現在推崇新能源,於是需要將引擎改成電能發動機。於是小陳輕而易舉的將圖紙中汽油發動機部分改成引擎發動機,再重製一下關係就完成了新圖紙!這就是繼承的作用:是使用已存在的類的定義作為基礎建立新類,新的類可以擁有父類的特點,也可以衍生出更多的特點。這使得複用以前的代碼非常容易,能夠大大縮短開發時間。

Person.java

用java進行麵向對象編程,麵向對象是什麼意思

class Person { // 定義人類

用java進行麵向對象編程,麵向對象是什麼意思

TestPerson.java

用java進行麵向對象編程,麵向對象是什麼意思

public class TestPerson {

用java進行麵向對象編程,麵向對象是什麼意思

多態?程序中定義的引用變量所指向的具體類型和通過該引用變量發出的方法調用在編程時並不確定,而是在程序運行期間才確定,即一個引用變量倒底會指向哪個類的實例對象,該引用變量發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變量綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。多態性增強了軟件的靈活性和擴展性。小李喜歡聽小鳥唱歌{麻雀,杜鵑,鸚鵡}

小李:窗外的鳥兒,給我唱首歌。

1.(鳥 bird = new 麻雀 )?

2.(鳥 bird = new 杜鵑 )?

3.(鳥 bird = new 鸚鵡 )?

鳥兒:bird.sing()~~~~~

小李:鳥兒唱的不錯,你是哪種鳥?

鳥兒: bird.shape()

小李:(---如果上麵藍字定義的是3,是鸚鵡)哈哈!原來你是鸚鵡!

所以,多態的過程實質是一個抽象指令,讓一組具有相同行為單具有不同內容的個體協同工作的這樣的一個過程。

人無完人,但會完蛋,如有錯誤,懇請指出!

最後更新:2017-04-10 20:02:47

  上一篇:go PostgreSQL物理"備庫"的哪些操作或配置,可能影響"主庫"的性能、垃圾回收、IO波動
  下一篇:go 啤酒和紙尿褲最搭? - 用HybridDB/PostgreSQL查詢商品營銷最佳組合