Java面向对象三大特征

面向对象三大特征

封装

一、基本认识
面向对象的封装是面向对象编程的三大特性之一,它指的是将数据及对数据的操作封装在一个类中,通过类的实例化对象来访问和操作数据。封装的目的是隐藏数据的具体实现细节,提供对外的接口来访问数据或执行操作,从而降低代码的耦合度,增强代码的可维护性和可重用性。

二、概念
在封装中,数据被称为类的属性(属性也被称为成员变量或字段),操作数据的函数被称为类的方法。通过对属性进行访问控制,可以控制对数据的访问范围和权限,提高数据的安全性。常见的访问控制修饰符有public(公共的,任何地方可访问)、private(私有的,只能在类内部访问)和protected(受保护的,只能在类内部和子类中访问)。

三、优点
封装的优点包括:
1.数据隐藏:封装可以将数据隐藏起来,只提供有限的访问接口,防止外部直接修改数据,提高程序的安全性。
2.简化调用:封装将一系列操作数据的方法封装在一个类中,简化了调用的过程,提高了代码的可读性和可维护性。
3.代码重用:通过封装可将通用的数据类型和操作封装为类,提供给其他程序模块进行复用,避免了重复编写相同的代码。
4.修改灵活:封装能够保证数据仅在类内部进行操作,当内部实现发生变化时,外部代码不需要做任何修改。

继承

一、基本认识
面向对象的继承是面向对象编程的三大特性之一,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。通过继承,子类可以拥有父类的特性,并且可以在此基础上进行扩展或修改。

二、概念
继承的基本概念是通过创建一个新的类来继承现有的类,新的类将自动拥有原来类的特性。父类中的属性和方法可以被子类直接访问和使用。子类可以通过继承获得父类的属性和方法,并可以添加新的属性和方法或重写已有的方法。

三、优点
继承的主要优点包括:
1.代码重用:继承允许子类使用父类已有的属性和方法,避免了重复编写相同的代码,提高了代码的可维护性和重用性。
2.类的层次结构清晰:通过继承,可以建立起类的层次结构,将类进行组织和分类,使程序设计更加清晰和可扩展。
3.多态性:继承是实现多态性的基础,子类对象可以作为父类对象使用,通过多态的方式实现同一类型的不同行为。

四、注意事项
继承可以分为单继承和多继承两种形式:
单继承:一个子类只能继承一个父类的特性,Java是单继承的语言,即一个子类只能有一个直接父类。
多继承:一个子类可以同时继承多个父类的特性,C++支持多继承,一个子类可以有多个直接父类。

多态

一、基本认识
面向对象的多态是面向对象编程的三大特性之一,它允许通过父类类型的引用变量来引用子类对象,从而在运行时根据实际的对象类型调用相应的方法。多态性可以使程序在不同的对象之间实现统一的接口,提高代码的灵活性和可扩展性。

二、概念
多态性的关键概念是方法的重写(Override)和方法的动态绑定。(Dynamic Binding)。
方法的重写:子类可以重写父类中的方法,即在子类中定义与父类中同名、同参数列表的方法。重写的方法可以有不同的实现逻辑,但方法签名必须一致。
方法的动态绑定:在运行时,通过父类类型的引用变量引用子类对象,系统会根据实际的对象类型动态地确定要调用的方法。

三、优点
多态性的优点包括:
1.代码灵活性:多态性使程序可以在不修改原有代码的情况下,通过引用父类类型的变量来使用不同子类对象的功能,提高了代码的灵活性和可扩展性。
2.可替换性:多态性使得子类对象可以替换父类对象的使用,提供了替换和扩展现有功能的可能性,促进了代码的重用和模块化。
3.统一接口:多态性能够通过抽象类或接口,定义统一的接口规范,使不同的子类对象都能够按照相同的接口进行操作和调用。

四、注意事项
多态下类型转换的问题怎么解决?
使用instanceof关键字。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值