虚方法和多态

简介: 以来倒置原则程序与设计要以来抽象(Pet)类,而不依赖于具体类(Dog)

依赖倒置原则

程序与设计要以来抽象(Pet)类,而不依赖于具体类(Dog)

基类的引用

派生类的对象包含基类部分和派生类部分,所以,我们可以通过一个基类类型的引用指向派生了类。通过指向派生类的基类引用,我们仅仅只能访问派生类中的基类部分

统一提高效率

我们需要一个容器(比如说一个数组)保存所有的基类(pet),基类描述了共同属性和行为,比如说宠物都有年龄,名字,都可以发出声音,活动,需要卫士...方便管理容易扩展

子类具有差异性

但是,基类又不能涵盖所有晴空和变化,同意的行为方法往往在基类和派生类中有所区别。虽然所有的宠物都能发出声音,但是发出的声音各不相同(具有差异性)

虚方法和多态的武器

虚方法:声明为Virtual的方法就是虚方法。基类的虚方法可以在派生类中使用override进行重新
pet----------------------pet
virtual public void------virtual public void

Speak();-----------------Speak();

Dog----------------------Cat
override public void-----override public void
Speak();-----------------Speak();

目录
打赏
0
0
0
0
1
分享
相关文章
冥王峡谷安装steamos踩坑记录
记录冥王峡谷安装第三方steamos-holoiso时遇到的一些问题,其它玩家可参考
2715 0
程序员必备工具:Xshell 7专业版安装与优化全攻略
Xshell 7 是一款由韩国 NetSarang 公司开发的终端模拟器,专为Windows系统设计,广泛用于远程连接和服务器管理。本文详细介绍其下载、安装流程及配置方法,包括界面语言设置、新建会话连接、高级功能如多窗口布局与脚本自动化,还提供了常见问题解答,帮助用户高效使用软件。
460 12
|
8月前
Visual Studio 快速分析 .NET Dump 文件
【11月更文挑战第10天】.NET Dump 文件是在 .NET 应用程序崩溃或出现问题时生成的,记录了应用程序的状态,包括内存对象、线程栈和模块信息。通过分析这些文件,开发人员可以定位和解决内存泄漏、死锁等问题。在 Visual Studio 中,可以通过调试工具、内存分析工具和符号加载等功能来详细分析 Dump 文件。此外,还可以使用第三方工具如 WinDbg 进行更深入的分析。
388 1
基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录
k均值聚类模型多元线性回归模型随机森林模型在数据分析项目中,选择合适的模型是至关重要的。本项目中,我们采用了三种不同的模型来分析蓝莓的生长条件和产量,以确保从不同角度全面理解数据。一、K均值聚类模型K均值聚类模型是一种无监督学习方法,用于根据数据的相似性将样本分成不同的组。在这个项目中,我们使用K均值聚类模型来识别具有相似特征的蓝莓品种。通过聚类分析,我们将蓝莓分为4个类别,每个类别代表了不同的生长条件和产量特性。这种分类有助于我们理解在不同环境条件下,哪些因素对蓝莓产量有显著影响。
270 0
基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录
【热门开源项目】阿里开源巨擘:Qwen-2 72B深度解析与推荐
在人工智能的浪潮中,开源模型如同璀璨的星辰,指引着开发者们探索未知的领域。而今天,我们将聚焦在阿里云推出的开源模型Qwen-2 72B上,从其项目介绍、技术特点、代码解析等多个角度,深入解析并推荐这一卓越的开源项目。
428 1
docker权限不足Got permission denied while trying to connect to the Docker daemon socket at unix:///var/r
docker权限不足Got permission denied while trying to connect to the Docker daemon socket at unix:///var/r
2433 0
【转】阿里云服务器入门使用流程 新手学习教程
一、阿里云根据个人需要选合适的云服务器,选好cpu、内存、带宽,地域,这四个是主要的。其他可以默认选择。
5712 1
【转】阿里云服务器入门使用流程 新手学习教程
Spring MVC集成Thymeleaf
Thymeleaf是一种流行的Java服务器端模板引擎。它可以将HTML模板和动态数据进行结合,生成最终的HTML页面
BXA
265 0
快速解决:Loading class `com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.c
我们当前使用的数据库版本在6.0以上,原来的驱动(com.mysql.jdbc.Driver)已经被废弃了,要进行更换驱动就好了
34491 1
快速解决:Loading class `com.mysql.jdbc.Driver‘. This is deprecated. The new driver class is `com.mysql.c
阿里云服务器带宽计费模式怎么选?固定带宽还是按流量?
2023阿里云服务器带宽计费模式怎么选?固定带宽还是按流量?阿里云服务器公网带宽计费模式按固定带宽和按使用流量哪个划算?按固定带宽计费1M带宽一个月23元,按使用流量计费1GB流量0.8元,如果云服务器带宽使用率低于10%,那么首选按使用流量计费,如果带宽实际利用率较高的话,按固定带宽计费更划算一些。云服务器吧来详细说下阿里云服务器带宽不同计费模式下收费价格、费用计算方法及如何选择更合适说明:
465 0
阿里云服务器带宽计费模式怎么选?固定带宽还是按流量?
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问