你的位置:首页 > 软件开发 > ASP.net > [.net 面向对象编程基础] 面向对象三大特性——封装

[.net 面向对象编程基础] 面向对象三大特性——封装

发布时间:2015-06-05 12:05:24
[.net 面向对象编程基础] (11) 面向对象三大特性——封装我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即面向对象的三大特性:封装、继承、多态。1.封装概念封装:每个对象都包含有它能 ...

[.net get='_blank'>面向对象编程基础] (11) 面向对象三大特性——封装

我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即

面向对象的三大特性:封装、继承、多态。

1.封装概念

封装:每个对象都包含有它能进行操作的所有信息,这个特性称为封装。这样的方法包含在类中,通过类的实例来实现。

2.封装的优点

A.良好的封装能够减少耦合(比如实现界面和逻辑分离)

B.可以让类对外接口不变,内部可以实现自由的修改

C.类具有清晰的对外接口,使用者只需调用,无需关心内部

D.因为封装的类功能相对独立,因此能更好的实现代码复用

E.可保护代码不被无意中破坏,通过私有字段等实现内部。注意:这里的代码保护不是指代码本身的加密,而是对不想外部更改的代码通过私有实现。

为了更好的理解封装的我们举几个实际例子

实例一:有一个漂亮的房子(House类),房子里有:床(Bed属性)、沙发(Sofa属性)、书桌(Desk属性)、钱柜(Box属性),还有门(Door属性)、窗子(Window属性),我们可以用一个类及他的属性成员来表示这个房子这个对象,在定义之前,我们可以考虑,像钱柜、床这类个人隐私的东西,不能随便让路过的人看到,那就就是私有的。也不能把窗子也封闭起来不接受阳光,那么窗子就是一个公有属性。而门在离开家的时候需要锁上,回到家需要打开,这就是一个对外的方法,当然开锁是需要有定的条件,比如有钥匙等。通过个描述,我们来用代码实现这个封装

 1 /// <summary> 2 /// 房子类 3 /// </summary> 4 class House 5 { 6   object _bed; 7   object _sofa; 8   object _desk; 9   object _box;10   object _door;11   object _window;12 13   /// <summary>14   /// 床 默认私有成员15   /// </summary>16   object Bed17   {18     get { return _bed; }19     set { _bed = value; }20   }21   /// <summary>22   /// 沙发(私有)23   /// </summary>24   object Sofa25   {26     get { return _sofa; }27     set { _sofa = value; }28   }29   /// <summary>30   /// 书桌(私有)31   /// </summary>32   object Desk33   {34     get { return _desk; }35     set { _desk = value; }36   }37   /// <summary>38   /// 钱柜(私有)39   /// </summary>40   object Box41   {42     get { return _box; }43     set { _box = value; }44   }45 46   /// <summary>47   /// 门(公有)48   /// </summary>49   public object Door50   {51     get { return _door; }52     set { _door = value; }53   }54 55   /// <summary>56   /// 窗子(公有)57   /// </summary>58   public object Window59   {60     get { return _window; }61     set { _window = value; }62   }63 }

原标题:[.net 面向对象编程基础] 面向对象三大特性——封装

关键词:.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。