面向对象三大特性: 封装
生活随笔
收集整理的這篇文章主要介紹了
面向对象三大特性: 封装
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
封裝
封裝:每個對象都包含有它能進行操作的所有信息,這個特性稱為封裝。這樣的方法包含在類中,通過類的實例來實現。
e.g. 我們可以使用遙控器。 遙控器有多個功能
封裝的優點
A.良好的封裝能夠減少耦合(比如實現界面和邏輯分離)
B.可以讓類對外接口不變,內部可以實現自由的修改
C.類具有清晰的對外接口,使用者只需調用,無需關心內部
D.因為封裝的類功能相對獨立,因此能更好的實現代碼復用
E.可保護代碼不被無意中破壞,通過私有字段等實現內部。注意:這里的代碼保護不是指代碼本身的加密,而是對不想外部更改的代碼通過私有實現。
?
/// <summary> /// 狗狗類 /// </summary> class Dog {string _dogName;readonly Color _dogColor=Color.Yellow;readonly double _dogPrice = 800.00;int _shoutNumber;/// <summary>/// 構造函數/// </summary>/// <param name="dogName"></param>public Dog(string dogName){DogName = dogName;}/// <summary>/// 狗狗名字 公有屬性/// </summary>public string DogName{get { return _dogName; }set { _dogName = value; }}/// <summary>/// 狗狗顏色 只讀屬性 (顏色一出生就是這個顏色,這里只提供只讀,當然這里不考慮染色)/// </summary>public Color DogColor{ get { return _dogColor;} }/// <summary>/// 狗狗價格 只讀屬性 (這是買來的價格,歷史是不可以修改的)/// </summary>public double DogPrice{get { return _dogPrice; }}/// <summary>/// 狗叫的次數 (不同的陌生人來,叫的次數不同)/// </summary>public int ShoutNumber{set{_shoutNumber=value;}get { return _shoutNumber; }}/// <summary>/// 狗叫的方法/// </summary>public void Shout(){int i=0;string ShoutNum="";do{ShoutNum += "旺!";i++;} while (i <= ShoutNumber);MessageBox.Show(ShoutNum);} }?
封裝要點
1.封裝就是把一個object的所有properties和methods放在一起
2.保持統一的對外接口,內部修改不影響外部調用
轉載于:https://www.cnblogs.com/TheMiao/p/9255932.html
總結
以上是生活随笔為你收集整理的面向对象三大特性: 封装的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习——深度学习之卷积神经网络(CN
- 下一篇: 开源BT磁力搜索引擎收集