java多態(tài)的理解 java面試提問:什么是OOP?
java面試提問:什么是OOP?面向對象編程(OOP)是一種計算機編程體系結構。面向對象編程的一個基本原理是,一個計算機程序由一個可以作為子程序的單元或對象組成。OOP實現(xiàn)了軟件工程的三個主要目標:可
java面試提問:什么是OOP?
面向對象編程(OOP)是一種計算機編程體系結構。面向對象編程的一個基本原理是,一個計算機程序由一個可以作為子程序的單元或對象組成。OOP實現(xiàn)了軟件工程的三個主要目標:可重用性、靈活性和可擴展性。為了實現(xiàn)整個操作,每個對象都可以接收信息、處理數(shù)據(jù)并向其他對象發(fā)送信息。OOP主要包括以下概念和組件:
組件—運行中的計算機程序中由數(shù)據(jù)和函數(shù)組成的單元。在面向對象的計算機程序中,組件是模塊和結構的基礎。
抽象-程序忽略正在處理的信息的某些方面的能力,也就是說,專注于信息的主要方面的能力。
封裝-也稱為信息封裝:確保組件不會以意外方式更改其他組件的內部狀態(tài);只有提供內部狀態(tài)更改方法的組件才能訪問其內部狀態(tài)。每種類型的組件都提供了與其他組件聯(lián)系的接口,并指定了其他組件的調用方法。
多態(tài)性-組件引用和類集涉及許多其他不同類型的組件,引用組件的結果取決于實際調用的類型。
繼承-允許在現(xiàn)有組件的基礎上創(chuàng)建子類組件,從而統(tǒng)一并增強多態(tài)性和封裝。通常,組件按類分組,新類可以定義為現(xiàn)有類的擴展。通過這種方式,類可以被組織成樹或網(wǎng)絡結構,這反映了動作的普遍性。
由于抽象性、封裝性、可重用性和易用性,基于組件的編程在腳本語言中特別流行。Python和ruby是最新的語言,它們在開發(fā)中完全采用了面向對象的思想,流行的Perl腳本語言從版本5開始逐漸增加了新的面向對象的功能組件。這就是JavaScript(ECMAScript)流行使用組件而不是“真實”實體的原因。事實證明,適當?shù)慕M件組合可以替代Internet上HTML和XML的文檔對象模型(DOM)。