面向对象,你懂多少?

面向对象迅速受到青睐的原因:

  1. .面向对象方法更符合人们对客观规律的认知。
  2. 面向对象开发的软件系统易于维护且相对稳定。
  3. 面向对象支持软件的复用(继承机制)。

Peter Coad 和 Edward Yourdon提出了

     面向对象 = 对象(object)

                       + 分类(classification)

                       +继承(inheritance)

                       +通过消息的通信(communication with messages)

  • 对象:有万物皆对象的说法,例如杯子,汽车等等。每个对象都有自己的属性和操作。如汽车有颜色(属性),可以加速(操作)等。在计算机系统中,对象是指一组属性以及这组属性上的专用操作的封装体,并且对象的属性只能通过该对象提供的操作来存取或者修改。封装的好处就是把使用者和生产者分离出来,如使用者只需要知道汽车怎么开,而不用需要汽车为什么能开。
  • 类: 类是指一组具有相同属性和相同操作的集合。比如多边形是一个类,而矩形,五边形等都是类的对象,因为这些对象都有面积以及计算面积等相同的属性和相同的操作。
  • 继承:继承是类间的一种基本关系。比如汽车与轿车之间,汽车与卡车之间就存在着继承关系,汽车中定义了轿车和卡车的公共属性和操作,而轿车和卡车各自定义了自己特有的属性和操作。子类还可以对父类(以及祖先类)的操作重新定义其实现方法,称为重载。如多边形类中有计算面积的操作,矩形类和五边形类也有计算面积的操作,在这里矩形和多边形分别对多边形类的操作进行了重载。
  • 消息:消息传递是对象间通信的手段。消息只需要告诉对象要完成什么操作,而不用指示对象怎么完成操作。因为消息完全由接收者解释,接收者独立决定采用什么方法完成所需的操作。比如老师(对象)让我(对象)下午到教室,我可以采用走路的方法,也可以采用骑车的方法。
扫描二维码关注公众号,回复: 13459784 查看本文章
  • 多态性和动态绑定:
  1. 多态性是指同一个操作作用于不同的对象有不同的解释,并产生不同的执行结果。(重载是多态性的一种具体实现方式)
  2. 动态绑定:是指在程序运行时才将消息所请求的操作与实现该操作的方法进行连接。

                       

猜你喜欢

转载自blog.csdn.net/weixin_40729735/article/details/89194336