面向对象编程(一)
一、面向对象编程介绍
(一)什么是面向对象?
面向将系统看成通过交互作用来完成特定功能的对象的集合。每个对象用自己的方法来管理数据。也就是说只有对象内部的代码能够操作对象内部的数据。
(二)面向对象的优点
·面向过程的缺点
不容易维护,灵活性差,不容易扩展,更谈不上复用,由于客户的需求多变,导致程序员加班加点,甚至整个项目经常返工。
·面向对象的优点
通过继承、封装、多态降低程序的耦合度,并结合设计模式让程序更容易修改和扩展,并且容易复用。
(三)面向对象的特点
抽象、封装、继承、多态
1.抽象:
·抽象是人们认识事物的一种方法
·抓住事物本质,而不是内部具体细节或者具体实现
2.封装
·封装是指按照信息屏蔽的原则,把对象的属性和操作结合一起,构成独立的对象。
·通过限制对属性和操作的访问权限,可以将属性“隐藏”在对象内部,对外提供一定的接口,在对象之外只能通过接口对对象进行操作。
·封装性增加了对象的独立性,从而保证数据的可靠性。
·外部对象不能直接对操作对象的属性,只能使用对象提供的服务。
3.继承
·继承表达了对对象的一般与特殊的关系。特殊类的对象具有一般类的全部属性和服务。
·当定义了一个类后,又需定义一个新类,这个新类与原来的类相比,只是增加或修改了部分属性和操作,这时可以用原来的类派生出新类,新类中只需描述自己所特有的属性和操作。
·继承性大大简化了对问题的描述,大大提高了程序的可重用性,从而提高了程序设计、修改、扩充的效率等。
4.多态
·多态性:同一个消息被不同对象接收时,产生不同结果,即实现同一接口,不同方法。
·一般类中定义的属性和服务,在特殊类中不改变其名字,但通过各自不同的实现后,可以具有不同的数据类型或者具有不同的行为。