软设之类的继承与泛化,多重继承

在类中,假如父类已经写好属性或方法,子类想要实现相同的功能,不用专门写代码,直接用专门的继承语言继承就可以了。

比如说有一个动物类,有毛色和叫这两个属性和方法,又写了一个子类是猫类,猫类也需要实现毛色和叫这两个属性和方法,不必专门就毛色和叫再写一遍代码,直接继承动物类的毛色和叫就可以了。

另外猫类除了可以继承动物类的毛色和叫之外,还可以另外写方法高度和跑,这种子类继承父类之后又新增方法和属性叫作泛化。

子类是父类的特殊化;父类是子类的泛化。

假如有多个父类,都有相同的属性和方法,比如说有虎类,狮类都有毛色,虎类毛色属性值是纹路,狮类属性值是纯色。假如有一个子类是狮虎类,想要继承毛色这个属性,就是二义性,在java语言里是不允许的,在c++是可以的。

相关推荐
会飞的胖达喵15 分钟前
Qt自动信号槽连接机制:深入解析与应用实践
开发语言·qt
无奈笑天下17 分钟前
银河麒麟V10虚拟机安装vmtools报错:/bin/bash解释器错误, 权限不够
linux·运维·服务器·开发语言·经验分享·bash
superman超哥20 分钟前
仓颉动态特性探索:反射API的原理、实战与性能权衡
开发语言·后端·仓颉编程语言·仓颉·仓颉语言·仓颉动态特性·反射api
程序员阿鹏27 分钟前
@Autowired和@Resource的区别
java·开发语言·spring
Halo_tjn29 分钟前
Java List集合知识点
java·开发语言·windows·算法·list
superman超哥35 分钟前
仓颉元编程之魂:宏系统的设计哲学与深度实践
开发语言·后端·仓颉编程语言·仓颉·仓颉语言·仓颉语言特性
一 乐35 分钟前
健身房预约|基于springboot + vue健身房预约小程序系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习·小程序
CC.GG1 小时前
【C++】哈希表的实现
java·c++·散列表
玄同7651 小时前
Python 数据类型:LLM 语料与 API 参数的底层处理逻辑
开发语言·人工智能·python·自然语言处理·llm·nlp·知识图谱
Slow菜鸟1 小时前
Java基础 | 布隆过滤器
java·开发语言