面向对象和面向过程的区别
面向过程
把事物拆分成一个个的方法和数据,然后按照一定的顺序,执行完这些方法,等方法执行完了,事情就搞定了,每个方法都可以看作一个过程。
面向对象
面向对象会把事物抽象成对象的概念,先抽象出对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
优缺点对比
面向过程
优点:性能比面向对象高,因为不需要实例化对象。
缺点:可维护性差
面向对象
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
缺点:性能比面向过程低
面向对象编程的特性:封装、继承、多态
封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不不可信的进行信息隐藏。
继承:继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。
多态:一个类实例的相同方法在不同情形有不同表现形式。