初识面向对象

来源:互联网 发布:3g和4g网络的区别大吗 编辑:程序博客网 时间:2024/05/20 23:31

面向对象是什么


       把现实中的一切事物比作一个个的对象来处理的软件开发方法。

    

面向对象的作用


        以人们理解的方式对复杂系统进行分析、设计与编程,提高了软件的可重用性、可维护性、灵活性和扩展性。



面向对象的内容


       面向对象=对象+类+继承+通信。对象:人们要进行研究的任何事物。:具有相同属性的对象的抽象。继承:一个类使用另一个类的代码。通信:对象之间传递消息。


面向对象基本特性


       抽象性(Abstract):就是忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目标有关的本质特征,从而找出事物的共性,并把具有共性的事物划为一类,得到一个抽象的概念的过程。举例:汽车,飞机就可以抽象出一个交通工具类。



        封装性(Package):就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。展开说的话,就是将对象的属性和行为绑定在一起,并放置在一个逻辑单元内。该逻辑单元负责将描述的属性隐藏起来,外界对客体内部属性的所有访问只能通过提供的用户接口实现。


     封装性是保证软件部件具有优良的模块性的基础,防止了程序之间的相互依赖性而带来的变动影响。举例:电视和电视上面的功能按钮,电视机就是一个对象,我们不用了解对象(电视机)的结构,只需要操作提供的接口(电视上的功能按钮),就能调节节目和音量。


        继承性(Inheritance):继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。


   继承性是面向对象程序设计语言不同于其他语言的最重要的特点,是其他语言所没有的。在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。在类层次中,子类继承了多个父类的数据结构和方法,则成为多重继承。采用继承性,提供了类的规范的等级结构,使公共的特性能够共享,提高了软件的重用性。举例:客轮既是一种轮船,又是一种客运工具,它可以继承轮船和客运工具这两个类的属性和服务。



       多态性(Polymorphism):多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。多态性允许每个对象以合适自身的方式去响应共同的消息。多态性增强了软件的灵活性和重用性。举例:在父类“几何图形”中定义了一个服务“绘图”,但并不确定执行时绘制一个什么图形。子类“椭圆”和“多边形“都继承了几何图形类的绘图服务,但其功能却不相同:一个画的是椭圆,一个画的是多边形。



面向对象思想开发的优点


     1、易维护。采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。


      2、质量高。在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。


       3、效率高。在软件开发时,根据设计的需要对现实世界的事物进行抽象成类,用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率。


       4、易扩展。由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。


总结


      为什么要了解面向对象呢,初衷是因为利用UML建模和设计模式学习的过程中,正是使用的面向对象的思想,所以需要稍微了解一些。不过,在了解的过程中,我发现,面向对象思想对于软件设计来说是很重要的。它使我们开发出来的软件具有更灵活,可扩展性、可维护性和可复用性更强的特点,是一个不可或缺的知识块,慢慢学习,如有说的不合适的地方,请多赐教。微笑


1 0
原创粉丝点击