Java面向对象有哪些特征和面向过程有什么区别
主要有三大特征:封装 继承 多态
类的封装:影藏了类的内部实现机制,可以在不影响使用的情况下改变了内部结构,同时也保护了数据,对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。
属性的封装:使用者只能通过事先定制好的方法来访问数据,可以方便地加入逻辑控制,限制对属性的不合理操作;
方法的封装:使用者按照既定的方式调用方法,不必关心方法的内部实现,便于使用; 便于修改,增强代码的可维护性;
继承:从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力,父类的私有方法不能被继承
多态:类和类之间的关系,俩个类之间有继承关系,存在方法的重写,父类引用指向子类对象 多态的三个要素:继承,重写,父类引用指向子类对象。
面向过程:面向过程性能比面向对象要高,因为类调用时需要实例化,开销比较大,比较消耗资源。当性能是最重要的考量因素的时候,比如单片机,嵌入式开发,Linux/Unix系统一般采用面向过程开发。
面向对象:面向对象易维护,易复用,易扩展。因为有继承,封装,多态的特性,可以设计出低耦合的系统,更加灵活易于维护。 性能比面向过程低,主要是因为java是半编译语言,不是可以直接被cpu执行的二进制机械码。



