一、封裝性
訪問修飾符:
public:訪問許可權最高,在命名空間內隨意訪問!
private:訪問許可權最低,只有當前類的內部才可以訪問。
internal:內部的。在當前程式集(命名空間,即namespace)內可以訪問。是程式預設修飾符!
protected;在當前類和他的子類才可以訪問!
ps:命名空間:也叫程式集,專案中的每乙個資料夾都是乙個獨立的命名空間。如果要使用某乙個命名空間下的類檔案,必須首先引用此命名空間!!
以前命名類的時候都是
public int code;
public string name;
然後在main函式裡面先進行例項化,然後就可以隨意引用code,name屬性。這樣子,任何人都可以隨便訪問。為了防止這種現象發生,我們就要對其進行封裝,要這樣進行封裝:
privateint _code;//
將public換成private
public
int code //
建立乙個變數code,通過這個變數來訪問_code
//輸出的結果。
set//
進行賦值,value為賦的值。可以再裡面的value進行條件設定
}
set {}和get{}可以只有一種!!同時也可以有多個public
總結封裝性:
乙個成員變數可以有很多個屬性;
屬性返回值可以是任意型別,不是必須要與成員變數型別相同;
屬性可以是唯讀的,也可以只寫的,也可以是兩者兼備的!
二,繼承性
在同乙個namespace下面建乙個類,如fly
publicstring
fly1()
在main函式裡面:
fly f=newfly();
string a=f.fly1();
console.write(a);
輸出值為:我可以飛。
然後進行繼承:
新建乙個bird類
在bird這個類裡面這樣寫:
publicstring bird:fly//
注意:「:fly」
這樣bird就繼承了fly的所有屬性(除了private)。
bird a=newbird();
string b=a.fly1();
console.write(b);
輸出結果為:「我可以飛」。
子類父類的轉換:
上面中,fly是bird的父類,bird是fly的子類;
//子類強制轉換為父類
bird b=new
bird();
fly f=(fly) b; //f可以呼叫bird裡面的屬性和方法。
//f(此時是跟fly同為父類)也可以再次次轉成以前相應的子類
bird bb=(bird) f; //bb可以呼叫bird裡面的屬性和方法
繼承性總結:
子類可以繼承父類所有的方法和屬性(private 除外);
父類不可以呼叫子類的方法和屬性,哪怕是public;
子類可以轉換成父類,轉換成的父類也可以轉換成相應的子類,但是不能轉換成其他的子類。如父類1,子類有兩個子類:1.1和1.2,1.1可以轉換成父類1,然後1也可以再次轉換成1.1,但是不能轉換成1.2。
完!!!!
物件導向 封裝性 繼承性 多型性總結
二 繼承性 三 多型性 封裝性就是將物件內部的複雜性隱藏起來,只是對外部公開簡單的介面,便於外界呼叫,從而提高系統的可擴充套件性 可維護性。通俗的說,就是把該隱藏的隱藏起來,該暴露的暴露出來。將類的屬性設為私有的 private 並提供set或者get方法。此時,針對屬性就體現了封裝性。不對外暴露的...
GO 物件導向 繼承性
首先我們需要定義父級的結構體和方法 然後在寫孩子的結構體和方法 從而就會有三種形式 在學到這一步貌似go的繼承比php的要簡單的多 go的繼承只需要把父級的結構體名直接放到裡邊就行 繼承後可以訪問父級的屬性和方法 也可以訪問自己的專有屬性 同時還擁有重寫父級方法 所有案例都配備有 直接扔進去就可以執...
php物件導向之二 封裝性
具體概念講出來,感覺也不知道說的是什麼.其實就是 在類的成員屬性和成員方法前面,加上類似public protected private 的修飾符 目的 盡量地隱藏物件的內部細節,達到訪問控制.不是拒絕訪問 對外形成乙個屏障,只保留有限的對外介面與外部發生聯絡.2.封裝的原則 物件對外的部分不能夠隨...