繼承和介面總結

2021-09-30 15:42:13 字數 1883 閱讀 1561

繼承

人類是乙個大類people,而兒童child、青年人youth、中年人adult、老年人elder都屬於人類。後四種類有人類的共同特徵,能完**類公有的許多行為,當然,也有一些本類特有的特徵和特定的行為。此時,我們將後四種類與人類的關係叫做「子類」和「父類」,子類「繼承」父類。生活中還有很多場景也有關於繼承。

eg.public class people(){}

//繼承的關鍵字是extends

public class child extends people(){}

//子類繼承到父類所有的屬性和方法(除構造器),能呼叫的屬性和方法卻是有限的

public class youth extends people(){}

重寫當子類和父類用乙個同名方法,但是子類的實現卻和父類不同、有其特殊性時,用到方法的重寫。重寫是指方法定義相同,但是實現不同,存在於父子類之間。

eg.public class people()

}//年青人屬於人,都能走路,但他們走路比普通人而言,更走的輕快和開心;喜事用 //到了方法的重寫

public class youth()

}自動轉型

乙個學生,是可以學習的。如果乙個學生想用大學生、小學生、高中生的學習方法時,是不是要在學生類裡寫n個不同類別學生的學習方法呢?這時,用到自動轉型。可以大量減少**的重複編寫:自動轉型後的父類物件,可以直接呼叫子類已經重寫的方法。

eg.student stu1 = new usstudent(); //stu1自動轉型為學生類物件

student stu2 = new seniorstudent(); //stu2自動轉型為學生類物件

stu1.study(); //學生類物件呼叫的是大學生的學習方法

stu2.study(); //學生類物件呼叫的是中學生的學習方法

多型乙個學生能學習,但是引入了自動轉型機制、大學生、中學生、小學生繼承了學生類、方法重寫了之後。父類物件呼叫乙個study()方法,結果是不確定的。又如,我們大家都是人,但是由於我們每個人都是獨特的。這就是多型最直接的體現。

eg.public class student()

public class usstudent() extends student

public class seniorstudent extends student()

//多型的體現:父類物件兩次呼叫study,結果是完全不同的

student stu1 = new usstudent();

stu1.study();

student stu2 = new seniorstudent();

stu2.study();

介面比如,我們要畫圖形,line、oval、rect等都繼承自drawimage類,但是每個子類畫圖的方法都是完全不一樣的,此時,父類裡面不需要有什麼具體實現就行。這時,介面出現了。它的作用就是給其他類繼承(這裡用到乙個特殊的關鍵字:inte***ce,是特殊的繼承),讓其他類實現裡面很抽象的方法。

eg.//介面裡的方法都是抽象的,沒有方法體;屬性都是常量;不能例項化乙個物件

public inte***ce drawimage()

public class line implements drawimage()

}public class oval implements drawimage()

}public class line implements drawimage()

}抽象類

上乙個「介面」要求實現它的類實現所有它的方法,這樣也許會是**態冗長,因為有的方法根本就沒有實現的必要。抽象類出現了。繼承抽象類的類必須實現其抽象方法,但是對於普通方法,是可以按照程式設計的需要選擇性實現的。這樣,**會更簡潔。

eg.mouseadapter抽象類(具體在書本上;注意抽象類也不能例項化乙個物件)

繼承和介面

繼承和介面 一 抽象類 抽象類和介面的關係非常緊密,都必須有要實現的成員。它們最大的區別是由抽象類可以派生出一些成員的實現,但介面卻不包含任何成員的實現。當派生出的事物都屬於同乙個種類時,此時可用抽象類 當派生出的事物的功能要求完全不同的類物件時,就要用介面實現。抽象類要求至少有乙個抽象成員,抽象成...

繼承和介面

一 抽象類 抽象類和介面的關係非常緊密,都必須有要實現的成員。它們最大的區別是由抽象類可以派生出一些成員的實現,但介面卻不包含任何成員的實現。當派生出的事物都屬於同乙個種類時,此時可用抽象類 當派生出的事物的功能要求完全不同的類物件時,就要用介面實現。抽象類要求至少有乙個抽象成員,抽象成員就是在派生...

LinkedList 繼承與介面總結

作為最簡單常用的linkedlist,自己使用起來容易記混幾個介面方法區別,在此總結一下以備方便檢視,簡化uml圖 其中queue介面實現增 刪 查3組操作介面 deque繼承自queue,在queue的增刪查基礎上,增加了雙端操作對應的介面,外加push pop的棧操作 介面分組與等效對應關係 操...