201671010135 2016--2017--《java程式結構設計:對象與類》

來源:互聯網
上載者:User

標籤:.com   extend   資料   多個   設計   簡單   分享   通過   基本   

1、物件導向程式設計簡介

    物件導向的基本思想是使用類、對象、繼承、封裝、訊息等基本概念來進行程式設計。

    採用物件導向方式開發的軟體系統,其最小的程式單元是類,這些類可以產生系統中的多個對象,而這些對象則直接映像成客觀世界的各種事物。採用物件導向方式開發的軟體系統邏輯上的組成結構:

                                                    

從圖上可以看出,物件導向的軟體系統由多個類組成,類代表了客觀世界上具有某種特徵的一類事物往往有一些內部的狀態資料,比如人有身高、體重、年齡、愛好等各種狀態資料--當然程式沒有必要記錄該事物所有的狀態資料,程式只要記錄業務關心的狀態資料即可。

物件導向的語言不僅使用類來封裝一類事物的內部狀態資料,這種狀態資料就對應於圖中的Field;而且類會提供操作這些狀態資料的方法,還會為這類事物的行為特徵提供相應的實現,這種實現也是方法。因此:可以得到如下基本等式:

                                                                        Field(狀態資料)+方法(行為)=類定義

  從這個等式來看,物件導向比面向過程的編程粒度要大;物件導向的程式單位是類;而面向過程的程式單位是函數(相當於方法)因此物件導向比面向過程更簡單、易用。我們舉個例子來說,希望完成“豬八戒吃西瓜”這樣一件事情。

                         面向過程的思維:吃(豬八戒,西瓜);     物件導向的思維:豬八戒.吃(西瓜);

2,3、Java的物件導向特徵

    物件導向方法具有三個基本特徵:封裝(Encapsulation)、繼承(Inheritance)和多態(Polymorphism),其中封裝指的是將對象的實現細節隱藏起來,然後通過一些公用方法來暴露該對象的功能;繼承是物件導向實現軟體複用的重要手段,當子類繼承父類後,子類作為一種特殊的父類,將直接獲得父類的屬性和方法;多態指是的子類對象可以直接賦給父類變數,但運行時依然表現出子類的行為特徵,

    物件導向還支援如下幾個功能:

     1)對象是物件導向方法中最基本的概念,它的基本特點是:標識唯一性、分類性、多態性、封裝性、模組獨立性好。

     2)類是具有共同屬性、共同方法的一類事物。類是對象的抽象;對象則是類的執行個體。而類是整個軟體系統最小的程式單元,類的封裝性將各種資訊細節隱藏起來,並通過公用方法來暴露該類對所提供的功能,從而提高了類的內聚性,降低了對象之間的耦合性。

     3)對象間的這種相互合作需要一個機制協助進行,這樣的機制稱為“訊息”。訊息是一個執行個體與另一個執行個體之間相互連信的機制。

     4)在物件導向方法中,類之間共用屬性和操作的機制稱為繼承。繼承具有傳遞性。繼承可分為單繼承(一個繼承只允許有一個直接父類,即類等級為樹形結構)與多繼承(一個類允許有多個直接父類),但Java不支援多繼承。

在Java語言中除了8個基礎資料型別 (Elementary Data Type)值之外,一切都是對象,而對象就是物件導向程式設計的中心。對象具有狀態,一個對象用資料值來描述它的狀態。Java通過對對象定義Field(以前常被稱為屬性,現在也稱欄位)來描述對象的狀態;對象還有操作,這些操作可以改變對象的狀態,對象的操作也被稱為對象的行為,Java通過為對象定義方法來描述對象的行為。

       對象是Java程式的核心,所以在Java裡的對象具有唯一性,每個對象都有一個標識來引用它,如果某個對象失去了標識,這個對象將變成垃圾,只能等著系統記憶體回收機制來回收它。Java語言不允許直接存取對象,而是通過對對象的引用來操作對象。

在Java語言使用class關鍵字定義類,定義類時可使用Field來描述該類對象的資料,可使用方法來描述該類對象的行為特徵。Java語言使用extends關鍵字來表示繼承關係。

Java使用new關鍵字來建立指定類的對象,每個類可以建立任意多個對象,多個對象的Field值可以不同。

 

好了,今天就寫到這裡了!感覺太過於抽象,有點頭大了!

201671010135 2016--2017--《java程式結構設計:對象與類》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.