OOP物件導向程式設計(Object-Oriented Programming)概述

奈學教育發表於2020-07-17
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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章