抽象與封裝

2021-10-10 13:13:46 字數 1492 閱讀 1680

抽象方法:

抽象方法,是指沒有方法體的方法,同時抽象方法還必須使用關鍵字abstract做修飾。

有抽象方法的類就是抽象類,抽象類要使用abstract關鍵字宣告。

定義乙個抽象類

abstract class a

public abstract void print();//抽象方法,沒有方法體,有abstract關鍵字做修飾}

例項化抽象類的物件

package com.wz.abstractdemo;

abstract class a

public abstract void print();//抽象方法,沒有方法體,有abstract關鍵字做修飾public class testdemo 抽象類的使用原則如下:

(1)抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),預設情況下預設為public;

(2)抽象類不能直接例項化,需要依靠子類採用向上轉型的方式處理;

(3)抽象類必須有子類,使用extends繼承,乙個子類只能繼承乙個抽象類;

(4)子類(如果不是抽象類)則必須覆寫抽象類之中的全部抽象方法(如果子類沒有實現父類的抽象方法,則必須將子類也定義為為abstract類。);

建構函式

訪問修飾符 構造方法名 ( )

建構函式的作用:就是給屬性進行賦值的:也叫物件的初始化,每乙個類都會有乙個預設的建構函式

建構函式:就是方法名和類名完全一致的函式他沒有返回值型別也沒有void,如果我們寫了建構函式,那麼預設的建構函式將不存在

不能夠被呼叫

建構函式的過載:

過載:方法名與類名相同,但是引數不同,引數的型別不同和數量不同: 作用:就是同樣的方法實現不同的功能

建構函式的過載:方法名與類名相同,但是引數不同,引數的型別不同和數量不同,但是沒有返回值沒有void

static 關鍵字:靜態的

修飾屬性:全域性變數,優先被載入

修飾的方法被成為,靜態方法:不用物件也可以進行呼叫,可以通過型別.方法

修飾**塊: 優先被載入,並且只載入一次

他不可以修飾區域性變數

final 關鍵字:最終的:用final修飾的變數稱為 常量,其值固定不變

封裝:

①修改屬性的可見性來限制對屬性的訪問

②為每個屬性建立一對賦值(setter)方法和取值(getter)方法,用於公開對這些屬性的訪問介面

③在setter和getter方法中,根據需要加入對屬性操作的限制

封裝方法的目的:

① 隱藏方法實現細節(方法體),向外部提供公開介面(方法頭),以供安全使用

② 簡化呼叫,方便修改維護

③ 根據需要,可以私有化方法以供類內部使用

訪問修飾符:

是指本類的物件

封裝與抽象

封裝是oo的重要特徵,這一點是毫無疑問的,至於算不算的上是oo的三大特徵之一 另外兩個是繼承 多型 目前仍有爭論,我也不想在這個問題上作過多的糾纏。什麼是封裝呢?封裝是一項將低層次的元素組合起來形成新的,高層次實體的技術。被封裝的元素隱藏了它們的實現細節。封裝是人們對現實世界中解決問題時,為了進行簡...

抽象與封裝區別 轉

抽象 處理大而複雜的問題的重要手段是抽象,強調事物本質的東西。對程式抽象而言,乙個語言結構的抽象強調的是該結構外部可觀察的行為,與該結構的內部實現無關。抽象包括過程抽象和資料抽象。封裝封裝是把乙個語言結構的具體實現細節作為乙個黑匣子對該結構的使用者隱藏起來的一種機制,從而符合資訊隱藏原則。封裝包括過...

c 類(1 抽象與封裝)

類是一種抽象資料型別,宣告形式如下 class classname 類成員訪問控制 class classname 在關鍵字pubkic後面宣告,它們時類與外部的介面,任何類內,類外函式都可以訪問公用資料和函式。在關鍵字private後面宣告,只允許類中的函式訪問,而類外的函式都不能訪問。修飾訪問屬...