OOP物件導向程式設計(Object-Oriented Programming)概述
Java的程式語言是物件導向的,採用這種語言進行程式設計稱為物件導向程式設計(Object-Oriented Programming, OOP)。
1)抽象(abstract)
忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面。抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用關注細節。
例如:要設計一個學生成績管理系統,那麼對於學生,只關心他的班級、學號、成績等,而不用去關心他的身高、體重這些資訊
2)封裝(Encapsulation)
封裝是物件導向的特徵之一,是物件和類概念的主要特性。封裝是把過程和資料包圍起來,對資料的訪問只能透過指定的方式。
在定義一個物件的特性的時候,有必要決定這些特性的可見性,即哪些特性對外部是可見的,哪些特性用於表示內部狀態。
通常,應禁止直接訪問一個物件中資料的實際表示,而應透過操作介面來訪問,這稱為資訊隱藏。
資訊隱藏是使用者對封裝性的認識,封裝則為資訊隱藏提供支援。
封裝保證了模組具有較好的獨立性,使得程式維護修改較為容易。對應用程式的修改僅限於類的內部,因而可以將應用程式修改帶來的影響減少到最低限度。
3)繼承(inheritance)
繼承是一種聯結類的層次模型,並且允許和支援類的重用,它提供了一種明確表述共性的方法。
新類繼承了原始類後,新類就繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。
派生類(子類)可以從它的基類(父類)那裡繼承方法和例項變數,並且派生類(子類)中可以修改或增加新的方法使之更適合特殊的需要
繼承性很好的解決了軟體的可重用性問題。比如說,所有的Windows應用程式都有一個視窗,它們可以看作都是從一個視窗類派生出來的。但是有的應用程式用於文書處理,有的應用程式用於繪圖,這是由於派生出了不同的子類,各個子類新增了不同的特性。
4)多型(polymorphism)
多型性是指允許不同類的物件對同一訊息作出響應。
多型性語言具有靈活、抽象、行為共享、程式碼共享的優勢,很好的解決了應用程式函式同名問題。
相同類域的不同物件,呼叫相同方法,表現出不同的結果
例如:
public class Person{ public void say(){} } public class Student extends Person{ public void say(){ System.out.println("I am a student"); } } public class Teacher extends Person{ public void say(){ System.out.println("I am a teacher"); } } main: Person s = new Student(); Person t = new Teacher(); s.say(); t.say();
本文來源於:奈學開發者社群
標題:物件導向程式設計(Object-Oriented Programming, OOP)概述
url:
如有侵權,請聯絡我刪除!謝謝~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2705289/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python OOP 物件導向程式設計PythonOOP物件程式設計
- Go物件導向程式設計OOP的實現Go物件程式設計OOP
- 物件導向(oop)物件OOP
- 物件導向程式設計(OOP)的七大原則物件程式設計OOP
- Kotlin 物件導向程式設計 (OOP) 基礎:類、物件與繼承詳解Kotlin物件程式設計OOP繼承
- 真的可以,用C語言實現物件導向程式設計OOPC語言物件程式設計OOP
- 物件導向程式設計物件程式設計
- Python物件導向程式設計Python物件程式設計
- 程式設計思想 物件導向程式設計物件
- js物件導向程式設計JS物件程式設計
- 十三、物件導向程式設計物件程式設計
- 十六、物件導向程式設計物件程式設計
- Python 物件導向程式設計Python物件程式設計
- JS物件導向程式設計(一):物件JS物件程式設計
- Java 物件導向概述Java物件
- 物件導向程式設計C++物件程式設計C++
- python技能--物件導向程式設計Python物件程式設計
- javascript:物件導向的程式設計JavaScript物件程式設計
- JS物件導向的程式設計JS物件程式設計
- Javascript 物件導向程式設計(一)JavaScript物件程式設計
- Javascript 物件導向程式設計(二)JavaScript物件程式設計
- Javascript 物件導向程式設計(三)JavaScript物件程式設計
- 06 物件導向程式設計 (續)物件程式設計
- Python物件導向程式設計(1)Python物件程式設計
- Scala的物件導向程式設計物件程式設計
- Python - 物件導向程式設計 - super()Python物件程式設計
- Python - 物件導向程式設計 - @propertyPython物件程式設計
- JavaScript物件導向程式設計理解!JavaScript物件程式設計
- PHP物件導向(OOP)—-分頁類PHP物件OOP
- 如何吃透Python的物件導向(OOP)Python物件OOP
- JavaScript-設計模式-物件導向程式設計JavaScript設計模式物件程式設計
- JavaScript設計模式之物件導向程式設計JavaScript設計模式物件程式設計
- 史上最全 Python 物件導向程式設計Python物件程式設計
- 淺談PHP物件導向程式設計PHP物件程式設計
- JS物件導向程式設計(三):原型JS物件程式設計原型
- [筆記]物件導向的程式設計筆記物件程式設計
- python基礎(物件導向程式設計)Python物件程式設計
- java-物件導向程式設計--(3)Java物件程式設計