news 2026/4/17 17:46:19

面向对象三大特点(封装、继承、多态)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面向对象三大特点(封装、继承、多态)

面向对象编程有三大特性:封装、继承、多态。

封装
  1. 封装是指将对象的属性(数据,如变量)和行为(操作数据的方法,如函数)捆绑在一起,同时隐藏对象内部的实现细节。
  2. 核心目的
  • 提高代码安全性:防止外部程序随意篡改对象的内部属性,避免无效数据的产生。
  • 提升代码可维护性:内部实现细节的修改不会影响外部调用者,降低代码耦合度。
  • 增强代码复用性:封装后的类可以作为独立模块被多次引用。
  1. 具体实现:
  • 使用 private 修饰成员变量
  • 提供 public的getter/setter方法
/* by yours.tools - online tools website : yours.tools/zh/pngcompression.html */ public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

继承
  1. 继承:子类(派生类)继承父类(基类/超类)的属性和方法,实现代码复用,并建立 is-a 关系。子类无需重新编写父类的已有代码,同时还能根据需求扩展自身的独有属性和方法,甚至重写父类的方法。
  2. 核心目的
  • 最大化代码复用:减少冗余代码,提高开发效率。
  • 建立类的层次关系:清晰梳理类与类之间的逻辑关联(如“学生”是“人”的一种)。
  • 为多态提供基础支撑。
  1. 具体实现
/* by yours.tools - online tools website : yours.tools/zh/pngcompression.html */ class Animal { void eat() {} } class Dog extends Animal { void bark() {} }
  1. 注意事项:
  • Java只支持单继承,Python支持多继承。
  • 可以多层继承
  • 可以实现多个接口

多态
  1. 多态:同一个方法调用,在不同对象上表现出不同的行为。
  2. 多态前提(java中)
  • 有继承或接口关系
  • 方法重写
  • 父类引用指向子类对象
  1. 目的:
  • 提高代码灵活性,降低代码耦合度
  • 增强代码可扩展性,完美契合 “开闭原则”
  • 简化代码结构,提高代码可维护性
  1. 代码示例:
// 1. 存在继承关系(父类Person) class Person { // 父类方法(非private、非static、非final,可被重写) public void work() { System.out.println("普通人的工作"); } } // 子类Student,继承Person class Student extends Person { // 2. 方法重写(严格遵循方法签名一致) @Override public void work() { System.out.println("学生的工作:上课学习"); } } // 子类Teacher,继承Person class Teacher extends Person { // 2. 方法重写 @Override public void work() { System.out.println("老师的工作:备课授课"); } } public class PolymorphismTest { public static void main(String[] args) { // 3. 父类引用指向子类对象(核心条件) Person p1 = new Student(); Person p2 = new Teacher(); // 触发多态:调用同一方法,呈现不同行为 p1.work(); // 输出:学生的工作:上课学习 p2.work(); // 输出:老师的工作:备课授课 } }
  1. java与python多态前提条件的区别

二者的差异根源是 Java 为静态强类型语言(约束严格),Python 为动态弱类型语言(约束宽松,灵活度更高),具体前提条件对比如下:

对比维度Java 多态(必背,缺一不可)Python 多态(无强制约束,灵活宽松)
继承/接口依赖必须具备类继承关系或接口实现关系,无此关系无法实现多态无需强制依赖!① 支持继承(单 / 多继承)实现多态(与 Java 类似);② 核心支持鸭子类型:无任何继承 / 接口,只要对象拥有目标方法即可实现多态
方法重写要求严格遵循规则:方法名、参数列表、返回值必须一致;父类方法不能是private/static/final;推荐显式标注@Override无严格规则,仅需子类与父类方法同名即可视为 “重写”;可灵活修改参数 / 返回值;无强制@Override标注
对象引用绑定必须满足父类/接口引用指向子类/实现类对象(静态类型声明为父类,实际指向子类实例),这是触发多态的关键完全不需要!Python变量无固定类型声明,无需刻意绑定父类引用,直接使用子类实例或符合方法要求的对象即可触发多态
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 6:30:37

华为坚决清仓,从3699元降至1954元,256GB+100W闪充+鸿蒙OS

鸿蒙harmonyos官网 手机行业中绝大多数大品牌的新机,阿维都会第一时间写文章分享出来,但是12月22号的华为nova15系列手机发布后,阿维并没有写文章,因为确实不太推荐粉丝们购买这一新机,不是说这一新机的体验很差&#…

作者头像 李华
网站建设 2026/4/18 11:20:14

基于PyTorch的腾讯HunyuanOCR界面推理部署步骤详解

基于PyTorch的腾讯HunyuanOCR界面推理部署步骤详解 在智能文档处理需求爆发式增长的今天,企业对OCR系统的期待早已超越“把图片变文字”的初级阶段。我们看到越来越多的应用场景——从银行票据自动录入、跨境电商多语言商品识别,到视频平台实时字幕提取—…

作者头像 李华
网站建设 2026/4/18 8:17:11

华为HCIP/HCSE、H3CSE通关经验浅谈

分享一波近期学员的战绩,共同探讨下高级认证备考策略。 华为HCIP-Datacom: 884分,路由交换基础扎实。 华为HCSE-Presales(金融/传输/企业): 均分850左右,对行业解决方案理解深刻。 新华三GB0-392 (H3CSE): 840分&#…

作者头像 李华
网站建设 2026/4/18 11:18:22

奢侈品真假辨别系统:HunyuanOCR比对品牌LOGO与序列号信息

奢侈品真假辨别系统:HunyuanOCR比对品牌LOGO与序列号信息 在二手奢侈品市场交易额突破千亿元的今天,一个看似普通的LV手袋内标照片,可能隐藏着数万元的真伪博弈。买家上传一张模糊的标签图,平台需要在3秒内判断这是否是高仿A货——…

作者头像 李华
网站建设 2026/4/17 14:04:49

AI竞赛题目灵感来源:设计‘复杂文档识别’任务使用HunyuanOCR评分

设计“复杂文档识别”任务使用HunyuanOCR评分 在金融、政务和跨境电商的日常运营中,企业每天要处理成千上万张扫描发票、合同、身份证件等非结构化文档。这些文件格式多样、语言混杂、版式复杂,传统OCR系统往往力不从心——检测不准、识别错乱、字段抽取…

作者头像 李华
网站建设 2026/4/18 5:41:48

GPU算力变现新路径:部署HunyuanOCR提供按Token计费的OCR服务

GPU算力变现新路径:部署HunyuanOCR提供按Token计费的OCR服务 在AI基础设施日益普及的今天,拥有高性能GPU却苦于利用率不足的问题,正困扰着大量中小企业、独立开发者甚至高校实验室。一块NVIDIA RTX 4090D动辄上万元,若仅用于训练或…

作者头像 李华