封装,继承,多态

封装

封装是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。
封装是面向对象编程语言对客观世界的模拟,客观世界的Field都是被隐藏在对象内部的,外界无法直接操作和修改。

封装的目的 
1、隐藏类的实现细节。 让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限 制对Field的不合理访问。 
2、可进行数据检查,从而有利于保证对象信息的完整性。
3、便于修改,提高代码的可维护性

为了实现良好的封装,需要从两个方面考虑
1、将对象的Field和实现细节隐藏起来,不允许对外部直接访问。
2、把方法暴露出来,让方法来控制对这些Field进行安全的访问和操作。

注意:封装最常见的就是get规方法和set方法

继承

继承是面向对象的三大特征之一,也是实现软件复用的重要手段。Java的继承具有单继承的特点,每个子类只有一个直接父类。 
子类一旦继承了父类,就可以获得父类的全部Field和方法,但java的子类不能获得父类的构造器;虽然说子类只能有一个直接父类,但子类可以拥有无限多个间接父类。

继承的实现

Java的继承通过extends关键字实现,实现继承的类被称为子类,被继承的类被称为父类,有的也称其为基类、超类。
java里子类继承父类的语法格式如下:
修饰符 class SubClass extends SuperClass{
// 类定义部分
}

多态

什么是多态 ?
当把一个子类对象直接赋给父类引用变量时,例如:SuperClass sc = new SubClass();,
这个sc引用变量的编译时类型是SuperClass,而运行时类型是SubClass,当运行时调用该引用变量的方法时,其方法行为总是表现出子类方法的行为特征,而不是父类方法的行为特征,这可能出现:
相同类型的变量、调用同一个方法时呈现出多种不同的行为特征,这就是多态。

字段不具备多态性

与方法不同的是,对象的Field不具备多态性。
java引用变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。如果编译时类型和运行时类型不一致,就可以能出现所谓的多态。


封装继承多态是面向对象编程中的三个重要概念。 封装是指将数据和对数据的操作封装在一个类中,通过访问修饰符来控制对数据的访问权限。这样可以隐藏内部实现细节,提高代码的安全性和可维护性。\[2\] 继承是指一个类可以继承另一个类的属性和方法。通过继承,子类可以重用父类的代码,并且可以在子类中添加新的属性和方法。这样可以提高代码的复用性和可扩展性。\[2\] 多态是指同一个方法在不同的对象上可以有不同的行为。通过多态,可以实现方法的重写和重载,使得程序可以根据对象的实际类型来调用相应的方法。这样可以提高代码的灵活性和可扩展性。\[1\] 总结起来,封装继承多态是面向对象编程的三个基本特性,它们可以使代码更加模块化、可维护和可扩展。 #### 引用[.reference_title] - *1* *2* [封装继承多态](https://blog.youkuaiyun.com/yahid/article/details/125665027)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [C++ 类的封装继承多态](https://blog.youkuaiyun.com/secondtonone1/article/details/124485035)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值