java面向对象是一种编程思想
面向对象的三大特性
(1)继承
(2)多态
(3)封装
面向对象的编程思想就是把事物看作一个整体,从事物的特征(属性)和行为(方法)两个方面进行描述。
面向对象的过程就是找对象、建立对象、使用对象、维护对象的关系的过程。
java面向对象编程和c语言面向过程编程各自的优缺点:
(1)java面向对象编程的优点:
结构清晰,程序是模块化和结构化,更加符合人类的思维方式;
易扩展,代码重用率高,可继承,可覆盖,可以设计出低耦合的系统;
易维护,系统低耦合的特点有利于减少程序的后期维护工作量。
缺点:
开销大,当要修改对象内部时,对象的属性不允许外部直接存取,所以要增加许多没有其他意义、只负责读或写的行为。这会为编程工作增加负担,增加运行开销,并且使程序显得臃肿。
性能低,由于面向更高的逻辑抽象层,使得面向对象在实现的时候,不得不做出性能上面的牺牲,计算时间和空间存储大小都开销很大。
(2)c语言面向过程编程的优点:
流程化使得编程任务明确,在开发之前基本考虑了实现方式和最终结果,具体步骤清楚,便于节点分析。
效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。
缺点:
需要深入的思考,耗费精力,代码重用性低,扩展能力差,后期维护难度比较大。
java面向对象编程的三大特征之继承性
继承概述: 继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类里面重新定义,追加属性和方法。
格式为要继承的类使用extend 关键字去继承被继承的类,并使用里面可以继承的属性和方法
class 父类 {
}
class 子类 extends 父类 {
}
java是不支持一个类继承多个类的,但可以一个类被多个类继承,比如dog类可以继承animal类,但不能在同时继承someting类,但animal类可以被dog类继承,同时被pig类继承。这种被我们称之为多重继承。
继承的特性:
(1)子类拥有父类非 private 的属性、方法。
(2)子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
(3)子类可以用自己的方式实现父类的方法。
(4)Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
(5)提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。
今天的学习就到此为止了,希望明天大家继续一起努力。