對面向對象的理解

面向對象是一種思想
一.設計步驟:
(1)程序設計首先解決的是基本類的設計(動物)——有屬性和方法。
(2)實例化產生對象(人),這樣動物有的屬性和行爲,人不用定義也可以擁有,符合自然規律。
(3)對對象進行各種操作。
二.設計意義:
通過使用面向對象的設計原則,程序員可以把一個複雜程序分成各個獨立組成模塊,需要具有高內聚低耦合的特性,便於設計與維護。
三.特點:
(1)封裝
  封裝隱藏了類的內部實現機制,可以在不影響使用者的前提下修改類的內部結構,同時保護了數據。
(2)繼承
  子類繼承父類就擁有了父類的屬性和方法。同時子類可以重寫父類的方法。
(3)多態
   相同的方法有不同的表現形式。
   i.方法重載
   在類中定義了二個或以上的相同名稱方法,但它們擁有不同的參數列表。調用時需要完全相同。
   ii.方法的重寫
   在子類中聲明瞭一個和父類相同的方法,父類的方法在子類中就被覆蓋了。子類重寫父類的方法時訪問修飾符要大於或者等於父類的,絕對不能小於。如果要在子類中調用父類被重寫的方法,可以使用super.方法名(參數列表),如果不用super.方法名(參數列表),則調用的是自己重寫的方法。
   iii.父類的引用指向子類的對象時
   根據指向的對象不同,同樣的方法會有不同的表現。
   例如父類Animal,子類Cat,Dog。其中Animal可以是類也可以是接口,Cat和Dog是繼承或實現Animal的子類。
Animal animal1 = new Cat();或Animal animal2 = new Dog();
即聲明的是父類,實際指向的是子類的一個對象。
   對象的上轉型對象的實質是子類負責創建,但上轉型對象失去了原對象的一些功能。上轉型對象只能操作子類繼承的成員變量和隱藏的成員變量、子類繼承的方法或重寫的方法。
//對象的上轉型對象可以調用上型變量(包括被繼承和被隱藏的)和下型方法(包括繼承的和重寫的)
//不能操作子類新增的變量和方法
//可以將上轉型對象強制轉換成一個子類對象。
//優點總結:可以重寫方法,靈活轉換,其餘與上型一致。
 
四.關鍵字
1.super:
(1)子類使用它調用父類構造方法(子類不繼承父類構造方法),默認在子類構造方法中有super();即調用父類無參構造方法。
(2)子類用它調用被子類隱藏的成員變量和方法。
2.this:
在類的實例方法中,相當於“我”,可以引用該方法當前對象。
五、修飾符
java中的修飾符分爲類修飾符,字段修飾符,方法修飾符。根據功能的不同,主要分爲以下幾種。
1、權限訪問修飾符
 public,protected,default,private,這四種級別的修飾符都可以用來修飾類、方法和字段。
可以繼承的子類所在:
public:所有的
protected:自己包內+其他包中子類
default:自己包內
private:自己類中
2final修飾符 

final的意思是不可變,他可以修飾類、字段、方法。

修飾類後類不能被繼承。修飾字段後字段的值不能被改變應該對字段進行手動初始化。修飾方法後該方法不能被重寫。

3abstract修飾符 

abstract是抽象的意思,用來修飾類和方法(必須重寫使具體化)

修飾類後,該類爲抽象類,不能被實例化,必需進行擴展。修飾方法後,該方法爲抽象方法必須被子類重寫(override)。

4static修飾符 

static用來修飾內部類,方法,字段。屬於類

修飾內部類說明該內部類屬於外部類而不屬於外部類的某個實例。修飾字段說明該字段屬於類而不屬於類實例。修飾方法說明該方法屬於類而不屬於類實例。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章