面向對象思想概述
1.面向對象的編程思想力圖使計算機語言中對事物的描述與現實世界中該事物的本來面目儘可能的一致。
2.類(class)和對象(object)是面向對象方法的核心概念。類是對一類事物描述,是抽象的、概念上的定義;對象是實際存在的該類事物的每個個體,因而也稱實例(instance)。
面向對象的三大特徵
封裝 (Encapsulation)
繼承 (Inheritance)
多態 (Polymorphism)
tips:
類的訪問機制:
1.在一個類中的訪問機制:類中的方法可以直接訪問類中的成員變量。(有一個例外)
2.在不同類中的訪問機制:先創建要訪問類的對象,再用對象訪問類中定義的成員。
信息的封裝和隱藏
1.使用者對類內部定義的屬性(對象的成員變量)的直接操作會導致數據
的錯誤、混亂或安全性問題。
2.Java中通過將數據聲明爲私有的(private),再提供公開的(public)方法:getXXX和setXXX實現對該屬性的操作,以實現下述目的:
(1)隱藏一個類的實現細節;
(2)使用者只能通過事先定製好的方法來訪問數據,可以方便地加入控制邏輯,限制對屬性的不合理操作;
(4)便於修改,增強代碼的可維護性;
理解:
不允許使用者創建實例對象時修改一些重要屬性,只能通過方法調用,故有了Private聲明。
構造器的定義與作用
構造方法的特徵
–它具有與類相同的名稱;
–它不含返回值;
–注意:在構造方法裏不含返回值的概念是不同於“void”的,在定義構造方法時加了“void”,結果這個方法就不再被自動調了。
構造方法的作用:當一個類的實例對象剛產生時,這個類的構造方法就會被自動調用,我們可以在這個方法中加入要完成初始化工作的代碼。
函數的重載
def:函數的重載就是在同一個類中允許同時存在一個以上的同名函數,只要它們的參數個數或類型不同即可。
1.不能通過參數名去區分兩個方法;
2.不能通過返回值的類型來區分兩個方法;
3.可以通過參數列表:參數的個數,參數的類型來區分兩個同名方法。