開發與維運

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();

本文來源於:奈學開發者社區

Leave a Reply

Your email address will not be published. Required fields are marked *