当前位置: 首页 > 后端技术 > Java

关于面向对象

时间:2023-04-01 17:03:36 Java

面向过程和面向对象的过程是一种以事件为中心的、自顶向下的编程。模块化问题。分析解决问题所需的步骤,然后用函数来实现这些步骤,依次调用。面向对象是一种以“对象”为中心的编程思想。把问题客观化。先建立一个抽象模型,然后用模型来解决问题。抽象一个对象的目的不是为了完成某个步骤,而是描述它在整个问题求解步骤中的行为。一个简单的例子:汽车启动,汽车到站。对于“面向过程”,有两个事件。汽车启动是一件事,汽车到达又是另一件事。针对以上两个事件,写两个函数,然后依次调用。但是,对于“面向对象”来说,我们关心的是汽车这样的对象,这两个事件只是这些对象的行为。并且这两个动作的先后顺序没有强制要求。面向过程的优点:性能高,因为调用时需要实例化类,开销比较大;如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。当程序小的时候,面向过程就会体现出优势,它的程序流程非常清晰。缺点:不面向对象,易维护,易复用,易扩展面向对象优点:易维护,易复用,易扩展,支持封装,继承,多态,可以设计低耦合的系统缺点:lowperformance面向对象的特性封装是指将某事物的属性和行为封装到一个对象中,这个对象可以选择性地将自己的属性和行为暴露给外界。具体来说,通过private、protected、public或not这三个修饰符来限制对外部对象的访问(即default默认)。继承是指子对象可以具有父对象的属性和行为,其子对象也具有这些属性和行为。多态性是指父对象中的相同行为在其多个子对象中可以有不同的表现。也就是说,子对象可以根据自己的需要重写父对象中的行为,使其具有不同于父对象和其他子对象的表现。多态性体现在重写(rewriting)上,重载(overloading)在面向对象中不属于多态的范畴,因为在非面向对象中也存在重载(overloading)的概念。多态存在的三个必要条件:必须有继承,必须有父类引用对子类对象的重写。多态的两种实现方式:父类指针指向子类对象,将基类的引用类型赋给其派生类实例。构造函数和析构函数不能被继承