吾思
作者:FroSro;
(此文章仅代表博主个人看法,定有所不足,还望指出!)
一、封装性
作为一个初学者,封装性是面向对象的三个基本特征中的我认识的第一个。简单的说,封装的意义就在于:将我们所重视的数据保护起来,让其免受故意或者意外的伤害,防止被有意或者不经意的修改。
但是,就我个人而言,我并不对封装性的可靠性表示赞同。如果非要举个例子的话,游戏账号和密码最能说明一切,千防万防难防一盗,日日夜夜,起早贪黑,汗血所积喂于蝼蚁,封装也只不过是对于一般人而言,真正的高手面前并没有可以堆砌成功的墙。
今天,麦子老师有说,以后的每一个属性都最好用private修饰,这样封装性的效果才能更好的体现,当然一并写上属性的get以及set方法。私有的方法有两种方式来间接的控制:第一种就是之前所说的get&set方法;第二种是用属性(property)。
第一种方法应该是目前我最常用的方法了,第二种资料上是这样写得:使用属性不仅可以控制存取数据的合法性,同时也提供了“读写”、“只读”、“只写”灵活的操作方法,表示一脸懵逼。
二、继承性
继承性,表示的是一种继承关系,犹如父与子,简单的说就是孩子他老爹将自己的手艺传给儿子,迫于老爹的压力,这个孩子并不能拒绝。于是,孩子有了他老爹的属性和方法,至于用不用,那又是另一回事了。当然在继承之后,孩子并不一定就不能有其他的手艺,所以,儿子肯定是要比老爹能力更强的。当然,有一天这个孩子也会变成老爹,这些手艺将一直传下去。
三、多态性
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这便是多态性的奥义所在。
其他的我还没有什么理解,正在默默的背下来。