面向对象

来源:互联网 发布:java写界面框架 编辑:程序博客网 时间:2024/05/22 14:03

面向对象的三大特征:封装,继承,多态

1、封装

什么是封装: 
封装(encapsulation)又叫隐藏实现。就是只公开代码单元的对外接口,而隐藏其具体实现。

怎么实现封装:

在程序设计时候,封装是通过访问控制实现的。

封装的好处:

a.封装使得对代码的修改更加安全和容易。将代码分成了一个个相对独立的单元。

      只要电话的外部接口(键盘,屏幕,使用方法等)不发生改变,那么不管电话内部电路,技术如何改进,你都不需要重新学习就可以使用新一代的电话。同样,只要汽车的方向盘,刹车等外部接口不变,那么,不论如何改造它的发动机,你也一样会驾驶这类汽车。

 封装所带来的好处是:明确的指出了那些属性和方法是外部可以访问的。这样当你需要调整这个类的代码时,只要保证公有(Public:)属性不变,公有方法的参数和返回值类型不变,那么你就可以尽情的修改这个类,而不会影响到程序的其他部分,或者是使用到这个类的其他程序。这就是为什么刚刚说的“在OOP中,对代码访问控制得越严格,日后你对代码修改的自由就越大”。

  b.封装使整个软件开发复杂度大大降低。

      能很好的使用别人的类(class),而不必关心其内部逻辑是如何实现的。你能很容易学会使用别人写好的代码,这就让软件协同开发的难度大大降低。

  c.封装还避免了命名冲突的问题。

      封装有隔离作用。电话上的按键和电视遥控器上的按键肯定用处不同。但它们都可以叫做按键,为什么你没有弄混呢?很显然一个属于电话类一个属于遥控器类。不同的类中可以有相同名称的方法和属性,但不会混淆。


2、继承

1.使用继承可以使得子类拥有父类的所有成员变量和方法

2.继承的子类不可以重新定义和父类名称相同的成员变量

3.子类重新实现父类中的方法,称之为重写

4.当调用某个方法时,优先在子类中寻找,如果子类没有定义该方法,就去父类中寻找

5.继承缺点是:耦合性强


3、多态


0 0