Java 与 C++ 的区别、面向对象和面向过程、封装继承多态、重载和重写

Java 与 C++ 的区别

  • Java 是纯粹的面向对象的语言,所有的对象都继承 java.lang.Object;C++ 既支持面向对象也支持面向过程。Java和C++都具有面向对象的三大特性,也就是继承、封装和多态。
  • Java 通过JVM虚拟机实现跨平台的特性; C++ 依赖于特定的平台。
  • Java 没有指针; C++ 有指针。
  • Java 支持自动垃圾回收;C++ 需要手动回收。
  • Java 不支持多继承; C++ 支持多继承。

面向对象和面向过程的区别

  • 面向过程是先分析出解决问题需要的步骤,然后用函数把这些步骤一个个实现,使用的时候依次调用,面向过程的核心是过程。
  • 面向对象是把构成问题的事物分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述某个事物在解决问题中的行为,面向对象的核心是对象。

继承、封装和多态

  • 封装:将对象中不需要让外界访问的成员变量和方法私有化,只提供符合开发者意愿的公有方法来访问这些数据和逻辑,保证了数据的安全和程序的稳定。
  • 继承:当多个类存在相同的属性和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法了,只需要通过extend语句继承父类即可,这样,子类就会自动拥有父类定义的属性和方法,达到代码复用的效果。Java 是单继承,一个类只能继承一个父类。
  • 多态:指同一个行为具有多种不同的表现形式,有三种方式来实现多态:子类继承父类,子类重写父类的方法,父类型的引用指向子类型的对象。主要的应用有:方法的重载和重写。好处是使代码具有可替换性、扩展性、降低耦合、接口性、灵活性、简化性。在调用的时候只需将子类对象传递给基类对象,编译器将会根据具体类的对象调用相应对象的方法,从而简便了编程。

重载和重写

  • 重载:是一个类中多态性的一种表现。同一个类中的方法,方法名相同,参数列表不同。
  • 重写:是父类与子类之间多态性的一种表现。子类继承父类,重写父类的方法,要求方法名、参数列表相同、返回类型都相同。子类的 访问权限 >= 父类,抛出异常 <= 父类。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值