Java面向對象程序設計的基本概念

2021-02-19 尚學堂java培訓
面向對象的程序設計涉及到對象、封裝、類、繼承及多態等幾個基本概念。

圖:計算機語言的發展過程


何謂面向對象是什麼意思呢?

面向對象程序設計是將人們認識世界過程中普遍採用的思維方法應用到程序設計中。對象是現實世界中存在的事物,它們是有形的,如某個人、某種物品;也可以是無形的,如某項計劃、某次商業交易。對象是構成現實世界的一個獨立單位,人們對世界的認識,是從分析對象的特徵入手的。

對象的特徵分為靜態特徵和動態特徵兩種。靜態的特徵指對象的外觀、性質、屬 性等;動態的特徵指對象具有的功能、行為等。客觀事物是錯綜複雜的,但人們總是 從某一目的出發,運用抽象分析的能力,從眾多的特徵中抽取最具代表性、最能反映 對象本質的若干特徵加以詳細研究。

人們將對象的靜態特徵抽象為屬性,用數據來描述,在 Java 語言中稱之為變量;人們將對象的動態特徵抽象為行為,用一組代碼來表示,完成對數據的操作,在 Java 語言中稱之為方法。一個對象由一組屬性和一組對屬性進行操作的方法構成。

將具有相同屬性及相同行為的一組對象稱為類。廣義地講,具有共同性質的事物的集合就稱為類。

在面向對象程序設計中,類是一個獨立的單位,它有一個類名,其內部包括成員變量,用於描述對象的屬性;還包括類的成員方法,用於描述對象的行為。在 Java 程 序設計中,類被認為是一種抽象數據類型,這種數據類型,不但包括數據,還包括方法。這大大地擴充了數據類型的概念。

類是一個抽象的概念,要利用類的方式來解決問題,必須用類創建一個實例化的類對象,然後通過類對象去訪問類的成員變量,去調用類的成員方法來實現程序的功能。這如同「汽車」本身是一個抽象的概念,只有使用了一輛具體的汽車,才能感受到汽車的功能。

一個類可創建多個類對象,它們具有相同的屬性模式,但可以具有不同的屬性值。Java 程序為每一個類對象都開闢了內存空間,以便保存各自的屬性值。

面向對象的程序設計有三個主要特徵:封裝性,繼承性,多態性

封裝是面向對象的方法所應遵循的一個重要原則。

它有兩個含義:一是指把對象的屬性和行為看成一個密不可分的整體,將這兩者「封裝」在一個不可分割的獨立單位(即對象)中。

另一層含義指「信息隱蔽」,把不需要讓外界知道的信息隱藏起來,有些對象的屬性及行為允許外界用戶知道或使用,但不允許更改,而另一些屬性或行為,則不允許外界知曉;或只允許使用對象的功能,而儘可能隱蔽對象的功能實現細節。

封裝機制在程序設計中表現為,把描述對象屬性的變量及實現對象功能的方法合在一起,定義為一個程序單位,並保證外界不能任意更改其內部的屬性值,也不能任意調動其內部的功能方法。

封裝機制的另一個特點是,為封裝在一個整體內的變量及方法規定了不同級別的 「可見性」或訪問權限。

繼承是面向對象方法中的重要概念,並且是提高軟體開發效率的重要手段。

首先擁有反映事物一般特性的類,然後在其基礎上派生出反映特殊事物的類。如已有的汽車的類,該類中描述了汽車的普遍屬性和行為,進一步再產生轎車的類,轎車的類是繼承於汽車類,轎車類不但擁有汽車類的全部屬性和行為,還增加轎車特有的屬性和行為。

在 Java 程序設計中,已有的類可以是 Java 開發環境所提供的一批最基本的程序——類庫。用戶開發的程序類是繼承這些已有的類。這樣,現在類所描述過的屬性及行為,即已定義的變量和方法,在繼承產生的類中完全可以使用。被繼承的類稱為父類或超類,而經繼承產生的類稱為子類或派生類。根據繼承機制,派生類繼承了超類的所有成員,並相應地增加了自己的一些新的成員。

面向對象程序設計中的繼承機制,大大增強了程序代碼的可復用性,提高了軟體的開發效率,降低了程序產生錯誤的可能性,也為程序的修改擴充提供了便利。

若一個子類只允許繼承一個父類,稱為單繼承;若允許繼承多個父類,稱為多繼承。目前許多面向對象程序設計語言不支持多繼承。而 Java 語言通過接口(interface) 的方式來彌補由於 Java 不支持多繼承而帶來的子類不能享用多個父類的成員的缺憾。

多態是面向對象程序設計的又一個重要特徵。多態是允許程序中出現重名現象。 Java 語言中含有方法重載與成員覆蓋兩種形式的多態。

方法重載:在一個類中,允許多個方法使用同一個名字,但方法的參數不同,完成的功能也不同。

成員覆蓋:子類與父類允許具有相同的變量名稱,但數據類型不同,允許具有相同的方法名稱,但完成的功能不同。

多態的特性使程序的抽象程度和簡捷程度更高,有助於程序設計人員對程序的分 組協同開發。

西安校區

Java培訓脫產班開課時間:2017年02月21日  座中..

電話:029-62258374

地址:陝西省西安市高新區科技二路西安軟體園天澤大廈五樓

鄭州校區

Java培訓脫產班開課時間:2017年02月28日  搶座中..

電話:0371-58500958

地址:河南省鄭州市金水區東風路與文化路交叉南100米

深圳校區

Java培訓脫產班開課時間:2017年02月21日  搶座中..

電話:0755-26612786

地址:深圳市南山區科文路1號華富洋大廈3F

科普一下什麼是脫產班:

脫產班就是參加工作後再去校內進行學習

一種學習方式。其管理模式與高校普通班

級一樣,學習期間完全脫離生產不在原單

位工作,全身心的進行全日制學習。不佔

用學生周六和周日的工作時間,對學生有

正常的、相對固定的授課教室和管理要求

,有穩定的寒暑假安排。

一個有用的公眾號

尚學堂java培訓

     Android

     web前端

     培訓基地

親愛的同學們:

      隨著春節假期即將結束,尚學堂java培訓春季班的課程也隨之開始,試聽的課程已經開啟,希望小夥伴們注意自己的開課時間(打開【尚學堂java培訓】公眾號,點擊-精品課程-我要試聽-聯繫客服獲取免費試聽名額),不要錯過咯,如果有疑問可到尚學堂服務中心前臺諮詢或致電029-62258374,地址:西安市雁塔區高新區科技二路天澤大廈五樓。

相關焦點

  • Java面向對象程序設計教與學
    ,主要內容包括抽象的技術,類與對象,面向對象編程的基本特徵,包括封裝性、繼承性和多態性。學完該課程,學生能使用面向對象程式語言和採用面向對象思維方法開發大中型應用程式。課程學分:4學分二、課程性質面向對象程序設計是計算機科學與技術專業、軟體工程專業以及物聯網工程專業的專業基礎課。該課程主要講授面向對象的程序設計方法和思想。該課程藉助Java作為教學語言,講授面向對象編程的基礎理論和基本思想,培養學生的面向對象思維。
  • Java面向對象中的封裝和訪問控制符詳解
    封裝面向對象編程有三大概念:封裝、繼承、多態,今天我們就先從封裝開始講起。封裝(Encapsulation)是面向對象方法的重要原則,就是把對象的屬性和操作(或服務)結合為一個獨立的整體,並儘可能隱藏對象的內部實現細節。封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的接口。
  • 尚學堂知識整理:java面向對象設計(二)
    Java面向對象編程有三個主要特點。下面示例顯示了Mobile類和屬性,在使用構造函數參數創建對象時設置一次對象信息。可以使用具有公共(public)訪問修飾符的getXXX()方法來訪問屬性。繼承面向對象程序的一個重要特性是繼承 - 創建一個新類時共享現有類的屬性和方法。
  • Python面向對象編程的基本概念
    九道門商業數據分析學院提供介紹在學習面向對象的編程時。我決定深入了解它的歷史,結果令人著迷。術語「面向對象程序設計」(OOP)是艾倫·凱(Alan Kay)在1966年讀研究生時提出的。名為Simula的語言是第一種具有面向對象編程功能的程式語言。它是在1967年開發的,用於製作仿真程序,其中最重要的信息稱為對象。
  • 「軟帝學院」:2020最新的Java學習基本概念總結
    簡單、高效Java 語言與 C++ 類似,如果用戶了解 C++ 和面向對象的概念,就可以很快編寫出 Java 程序;此外,Java 又不同於諸如 C++ 語言提供的各種各樣的方法,它只提供了基本的方法,這樣就減少了編程的複雜性,例如去掉了頭文件、指針變量、結構、運算符重載
  • 基於目標管理的Java 面向對象程序設計在線教學
    Java 面向對象程序設計在計算機類專業應用型本科第2 學年第4 學期進行教學,學生已經學過C 語言程序設計和數據結構。線下每周講授2課時,實驗2 課時,使用清華大學出版社出版的自編教材。課堂教學以「板書知識點+ 編程演示」方式為主,沒有使用PPT。實驗教學以驗證型實驗為主,主要通過重做教師課堂演示的例子,強化對知識點的理解。
  • 圖說Java中的OOPs(面向對象編程系統)基本概念
    面向對象編程是一種編程概念,其核心思想是允許用戶創建所需要的對象,然後提供處理這些對象的方法,使用者通過操作對象而獲得運算數據。本文將以簡潔的方式對面向對象編程中的概念進行梳理。1.對象既包含數據又包含對數據進行操作的方法。例如,我們日常生活中能夠體現具體物理事物的鋼筆,電腦桌,顯示器,自行車,玻璃杯等等。3. Inheritance(繼承)繼承是Java中的一種機制,它允許其中一個對象獲取父對象的所有屬性和行為(方法)。他是面向對象編程系統(OOPS)的重要組成部分。Java繼承的思想是可以創建基於現有類的新類。
  • java開發工程師 javascript面向對象的初識
    冰凍三尺非一日之寒,希望大家在學習java的日子裡一定一定要堅持不懈,嚴格要求。多練,多問,多百度。祝大家早日成為一名優秀的軟體工程師! 那麼如果要向一個html頁面中寫入js代碼,就必須定義一個<script></script>標籤,所有的js代碼都在這個<script>標籤中。
  • 聊聊面向對象編程的幾個基本原則
    進行面向對象編程,有下面幾個原則:一. 面向抽象原則二. 開閉原則三. 多用組合少用繼承原則四. 高內聚-低耦合原則下面首先先介紹抽象類和接口,然後介紹面向抽象編程。3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加。4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。5.阿里Java高級大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!
  • Java面向對象之final、abstract抽象、和變量生命周期
    Java面向對象之final、abstract抽象、final修飾符final只要滿足以下條件就可以考慮把一個類設計成final類:在設計之初就考慮不進入繼承體系的類。出於安全考慮,類的實現細節不允許被拓展和修改。比如:基本數據類型的包裝類就是一個典型的例子。該類不會再被拓展。
  • 每周 10 道 Java 面試題 : 面向對象, 類加載器, JDBC, Spring 基礎概念
    面試題答案討論請移步:https://github.com/jobbole/java-interview/issues/1Java面試題投遞交流請移步:https://github.com/jobbole/java-interview/issues/21. 為什麼說Java是一門平臺無關語言?
  • 戰「疫」·一線課堂 | 能力型《Java 語言與面向對象程序設計》在線教學設計
    教學目標:在理論教學方面,讓學生理解面向對象程序設計思想和方法,掌握Java語言語法功能,能夠使用Java語言編寫程序。在實踐教學方面,設計一些與Java程序設計有關的項目和應用,讓學生熟練掌握Java編程技巧,學習使用Java語言做一些實際項目,培養學生的動手和實踐能力。
  • 給Java新手的一些建議——Java知識點歸納(Java基礎部分)
    Java的運行(基礎必備)這條可能出看很簡單,java程序的運行誰不會呢?不過很多時候, 我們只是單純通過IDE去執行java程序,底層IDE又是如何執行java程序呢?很多人並不了解。這個知識點是最最基本的java開發者需要掌握的,初學java,第一個肯定是教你如何在命令行中執行java程序,但是很多人一旦把java學完了,IDE用上了,就把這個都忘了。
  • 《深入淺出面向對象分析與設計》讀後感|王鵬
    當然本書也有一些缺點,比如陳述內容過於細緻冗餘,有些翻譯的文字也比較晦澀,理論性的東西比較多,實例代碼相對來說比較少,但瑕不掩瑜,這並不妨礙它成為一本面向對象分析與設計的經典入門書籍。書中結合幾個具體的例子(吉他庫存管理系統、狗門、遊戲系統開發框架)循序漸進地講解了OOA&D即面向對象設計與分析涉及的關鍵概念、設計原則以及分析流程。
  • 手把手Java入門:繼承(面向對象篇)
    繼承的概念繼承是java面向對象編程中的基石,它允許創建分層次的類。繼承是子類繼承父類的特徵和行為,使得子類對象具有父類的實例域和方法,或者子類直接繼承父類的方法,使得子類具有父類相同的行為。在java中實現繼承的關鍵字是extends,它可以聲明一個類是從另外一個類繼承而來的。格式如下:class父類{}class子類extends父類{}繼承的特性子類擁有父類非private的屬性和方法。子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。
  • JAVA入門:從什麼是JAVA到編寫第一個java程序只需看這一篇
    Java是一門面向對象程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象程式語言的代表,極好地實現了面向對象理論,允許程式設計師以優雅的思維方式進行複雜的編程。
  • Java到底是不是一種純面向對象語言?
    在Java世界內一切都是對象,甚至包括字符串(String)這些都是對象(在 C 語言中,字符串是字符數組),那時候,我認為 Java是一種面向對象的語言。但是在後來,我在網際網路站上陸續看到不少開發者說 「Java實際上不是純粹的面向對象,因為並不是所有的東西在 Java 世界都是一個對象」。
  • 深入理解Java:註解(Annotation)基本概念
    什麼是註解(Annotation):Annotation(註解)就是Java提供了一種元程序中的元素關聯任何信息和著任何元數據(metadata)的途徑和方法。Annotion(註解)是一個接口,程序可以通過反射來獲取指定程序元素的Annotion對象,然後通過Annotion對象來獲取註解裡面的元數據。
  • 幾點Java程序必須滿足的基本規則
    小編說:萬事開頭難,Java編程的初學者常常會遇到各種各樣的問題,本文介紹一些基本規則,希望減少讀者在學習中的障礙
  • Java面向對象之枚舉——enum
    Java面向對象之枚舉——enum引出枚舉首先來考慮這樣一個需求:判斷一個員工(Employee)在一周的哪一天休息。底層的枚舉類枚舉特點:枚舉的直接父類是java.lang.Enum,但和java.lang.Object