多态的简单应用

SAP-ABAP:ABAP 开发基础概念入门:写给刚踏入 SAP 开发世界的新人 本文介绍了 ABAP 开发语言的基础概念,帮助 SAP 开发新人快速入门。主要内容包括: ABAP 的发展历程与核心优势 - 作为 SAP 平台的专属语言,ABAP 在企业级应用开发中具有深度集成、数据处理高效和长期稳定的特点 ABAP 开发环境概览 - 介绍了 SE38、SE80 等关键事务码,以及 ABAP 工作台的核心组件和开发权限管理 基础语法入门 - 重点讲解了 ABAP 特有的数据类型体系(特别是结构体和内表),并通过 Hello World 示例展示程序基本结构 文章通过对比 ABAP 与 J 阅读详情

以下是多态的简单应用:通过父类的纯虚函数来实现多态

#include <iostream>

using namespace std;

class Object
{
public:
    Object()
    {}
    ~Object()
    {}
public:
    virtual void Print()const = 0;
};

class List;

class Listnode
{
    friend class List;
public:
    Listnode(Object *pinfo = NULL) : next(NULL)
    {
        info = pinfo;
    }
    ~Listnode()
    {}
private:
    Object *info;
    Listnode *next;
};

class List
{
public:
    List() : head(NULL), tail(NULL)
    {
        head = tail = new Listnode;
    }
    ~List()
    {}
public:
    void push_back(Listnode *s)
    {
        tail->next = s;
        tail = s;
    }
    void Print()const
    {
        Listnode *p = head->next;
        while(p != NULL){
            p->info->Print();
            p = p->next;
        }
        cout << "Over!" << endl;
    }
private:
    Listnode *head;
    Listnode *tail;
};

class Int : public Object
{
public:
    Int(int x = 0): data(x)
    {}
    ~Int()
    {}
public:
    void Print()const
    {
        cout << data << "-->";
    }
private:
    int data;
};

class String : public Object
{
public:
    String(const char *str) : data(str)
    {}
    ~String(){}
public:
    void Print()const
    {
        cout<<data<<"-->";
    }
private:
    string data;
};

class Char : public Object
{
public:
    Char(char x = 0) : data(x)
    {}
    ~Char()
    {}
public:
    void Print()const
    {
        cout<<data<<"-->";
    }
private:
    char data;
};

int main()
{
    List mylist;
    for(int i = 1; i <= 5; ++i){
        Listnode *s = new Listnode(new Int(i));
        mylist.push_back(s);
    }
    mylist.Print();

    List Strlist;
    Listnode *str = new Listnode(new String("bdef"));
    Strlist.push_back(str);
    str = new Listnode(new String("neyfrhue"));
    Strlist.push_back(str);
    Strlist.Print();

    List charlist;
    for(char i = 'A'; i <= 'Z'; ++i){
        Listnode *s = new Listnode(new Char(i));
        charlist.push_back(s);
    }
    charlist.Print();

    return 0;
}

运行结果:

[root@localhost list]# ./list 
1-->2-->3-->4-->5-->Over!
bdef-->neyfrhue-->Over!
A-->B-->C-->D-->E-->F-->G-->H-->I-->J-->K-->L-->M-->N-->O-->P-->Q-->R-->S-->T-->U-->V-->W-->X-->Y-->Z-->Over!
[root@localhost list]# 
【A_Star三维路径规划】基于matlab A_Star算法结合B样条平滑三维地形路径规划(含雷达威胁)【含Matlab源码 3527期】 A_Star算法结合B样条平滑三维地形路径规划(含雷达威胁) 完整代码,包运行;可提供运行操作视频!适合小白! 阅读详情

相关推荐

Zotero+Obsidian+Bookxnote联动让文献阅读丝滑般体验

摘录文字或图片到Obsidian

weixin_43694742的博客 1万+

Java 多态

1.1 多态的概述 定义: 是指同一行为,具有多个不同表现形式。 多态的前提 要有继承或实现关系 要有方法的重写 要有父类引用指向子类对象 1.2 多态的体现 多态体现的格式: 父类类型 变量名 = new 子类对象; 变量名.方法名(); 父类类型:指子类对象继承的父类类型,或者实现的父接口类型。代码如下: Fu f = new Zi(); f.method(); 1.3 多态中的成员访问特点 成员访问特点 成员变量 编译看父类,运行看父类 成员方法 编译看父类,运行看子类 代码演示

qq_45566079的博客 331

手把手教你用TJA1145A实现CAN节点智能唤醒(含数据帧过滤技巧)

本文详细介绍了如何使用TJA1145A收发器实现CAN节点的智能唤醒功能,包括数据帧过滤技巧和超低功耗设计。通过硬件级帧过滤和双条件唤醒机制,TJA1145A在保持微安级休眠电流的同时,能对特定报文做出毫秒级响应,显著提升电池供电设备的续航能力。

weixin_28721917的博客 249

多态常见应用场景举例

package day0611; public class Test { /**多态在实际开发中的使用,以下为主人喂养宠物的例子说明多态的作用 *1.主人喂养宠物这个场景需要进行类型的抽象: *---主人【类】 宠物【类】 *--主人可以喂养宠物 所以主人有喂养这个动作 *-- 宠物【类】 *--宠物可以吃东西,所以宠物有吃东西这个动作 * *--2.面向对象编程的核心:定义好类,将类实例化为对象,给一个环境驱使一下,让各个对...

dldodo的博客 6609

ENVI 5.6保姆级教程:高分七号DLC影像从打开到融合的完整流程(附避坑指南)

本文详细介绍了ENVI 5.6处理高分七号DLC影像的完整流程,包括环境准备、数据解压、正射校正、图像融合等关键步骤。特别针对国产卫星数据处理的独特挑战,提供了实用的避坑指南和优化技巧,帮助用户高效完成光学影像的预处理和质量提升。

weixin_33269743的博客 382

Netapp FAS2750更换磁盘后不同步问题处理

netapp fas2750磁盘更换后不同步问题处理

jetliu05的博客 1256

用一个例子说明什么是多态

OOP面向对象的三个特性:封装、继承和多态。前面两个特性好理解,多态则常常搞得很多人头晕,网上的解释也是五花八门。   什么是多态?按百度百科的解释,多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对

比目鱼的专栏 8017

ICC2 实战秘籍:create_workspace 命令全解析

必选项:工作区名称,这可是创建工作区的 “身份证”,必不可少。技术数据选项匹配:优先考虑用 -technology 直接加载技术文件,这是获取最新、最准确技术数据的首选路径;要是已经有合适的技术库了,那 -use_technology_lib 引用现有技术库也能快速上手。精度设置优先规则:技术文件自动配置排在第一位,能自动适配就别手动操心;要是自动配置不理想,那就显式指定 scale_factor;实在没要求,就用默认配置,但得清楚它的精度限制。

weixin_50820814的博客 1123

Java抽象+多态的简单应用

一、抽象 1.抽象:使用abstract声明的类叫作抽象类,当父类的某些方法不确定,就可以用抽象类。 (1)抽象类是一种模板,不能被实例化; (2)子类继承抽象类,如果子类不是抽象类,就要实现基类中全部的抽象方法;如果子类是抽象类,可以不用写抽象方法、也可以重写抽象方法; 2.抽象类和接口的区别 (1)抽象方法是抽象类里边的; (2)抽象方法是相对接口而言的,接口必须实现基类中的全部方...

Michaeles的博客 398

PTC-6-2004汽轮机性能计算源代码,pycharm-包括试验计算、一类修正、二类修正-以CC350-16.7/0.98/0.5/538/538型汽轮机为例,5万7千字,过程不易欢迎打赏

汽轮机性能计算完整源代码-简化试验-包括试验计算一类修正计算和二类修正计算目录图 1 工程结构。

weixin_43441028的博客 992

YOLOv8 改进涨点 | 模块即插即用 直接可用

在目标检测任务中,注意力机制能够帮助模型聚焦于图像中的关键区域,显著提升检测精度。。创建模块代码注册模块修改任务解析tasks.py创建YAML配置文件模块核心优势适用场景计算开销SOCA捕获二阶统计信息,增强通道间相关性需要精细特征区分的场景中等SK自适应多尺度核选择多尺度目标检测中等偏高显式特征聚集-分配机制全局上下文建模中等A2-Net双线性注意力,高效全局交互复杂场景理解中等偏高CrissCross线性复杂度全局上下文高分辨率输入,长距离依赖较低。

u012133341的博客 2257

java 多态应用_Java 多态的简单应用

电脑判断USB设备USB接口/*创建usb接口接口类:1.接口本身就是个抽象类的集合,所以里面的方法都是抽象方法即使你省略了关键字abstract,Java默认会给你加上abstract2.接口中有默认方法和默认静态方法默认方法:使用 default 修饰,不可省略,供子类调用或者子类重写。静态方法:使用 static 修饰,供接口直接调用。3.接口中有私有方法和私有静态方法私有方法:privat...

weixin_42395980的博客 189

Python爬虫实战:如何爬取京东商品评论数据

在本文中,我们介绍了如何使用 Python 爬虫技术爬取京东商品的评论数据。首先,我们分析了京东商品评论的 API 接口和 JSON 数据结构,然后编写了爬虫程序来抓取评论数据,并将数据保存到 CSV 文件中。接着,我们进行了一些基本的数据分析,包括评分分布和简单的情感分析。爬取京东商品评论的数据可以为电商分析、情感分析等提供有价值的信息。你可以在此基础上进行更深入的分析,挖掘更多的商业价值。希望本篇教程能够帮助你了解如何利用 Python 进行电商数据的爬取和分析!

2201_76125261的博客 1646

Java之抽象+多态的简单应用

一、抽象 1.抽象:使用abstract声明的类叫作抽象类,当父类的某些方法不确定,就可以用抽象类。 (1)抽象类是一种模板,不能被实例化; (2)子类继承抽象类,如果子类不是抽象类,就要实现基类中全部的抽象方法;如果子类是抽象类,可以不用写抽象方法、也可以重写抽象方法; 2.抽象类和接口的区别 (1)抽象方法是抽象类里边的; (2)抽象方法是相对接口而言的,接口必须实现基类中的全部方...

嘉会的博客 444

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Unity C#入门:继承与多态的简单应用

Unity C#继承与多态入门指南 本文介绍了Unity游戏开发中继承与多态的核心概念和应用。主要内容包括: 核心概念:继承允许子类复用父类功能,多态使同一方法在不同子类中有不同实现 技术原理:通过MonoBehaviour生命周期函数和组件化设计实现游戏逻辑 实践应用:包含角色控制器和UI管理器两个典型示例代码 关键要点:组件化设计、生命周期管理、序列化字段和预制体使用 文章提供了完整的代码示例和实现步骤,帮助开发者快速掌握Unity中继承与多态的基本应用,为游戏开发打下坚实基础。通过实际案例演示了如何创

编程世界如山海,探索不止。 6015

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java 多态的简单应用

电脑判断USB设备 USB接口 /*创建usb接口接口类:1.接口本身就是个抽象类的集合,所以里面的方法都是抽象方法即使你省略了 关键字abstract,Java默认会给你加上abstract 2.接口中有默认方法和默认静态方法 默认方法:使用 default 修饰,不可省略,供子类调用或者子类重写。 静态方法:使用...

weixin_42844241的博客 63

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

c++的体现多态的一个简单应用

本代码的实现的功能是计算正方形和矩形的面积,所以先建立了一个抽象的基类base_sharp,主要是用于声明面积的打印方法和面积的计算方法。然后声明建立了矩形类rectangle和正方形类square,都对基类做了继承,并且分别对基类中的纯虚函数做了实现。 // ConsoleApplication1.cpp : 定义控制台应用程序的入口点。 // // test.cpp : 定义控制台应用程...

仗劍走天涯 515

Java基础 多态语法的简单应用

//多态语法的简单应用是为了提高程序的可扩展性,降低程序的耦合度 //这个例子中将三个“宠物”对象集合为一个Pet对象,Master面向着一个对象,三个对象是Pet的子类,所以至于要改写父类方法,再使用多态就可以实现自己的方法。 public class FifthTest07 { public static void main(String[] args) { Master01 zhangsan = new Master01(); Pet01 pet01=new P

zhaoxia38324的博客 102

Java继承与多态的简单应用--宠物商店

文章目录Java继承与多态的简单应用--宠物商店代码演示 Java继承与多态的简单应用–宠物商店 代码演示 package chapter_six; //定义宠物接口,所有宠物都需要实现此接口 interface Pet{ public String getName(); //获取宠物的名字 public String getColor(); //得到宠物的颜色 public int getAge(); //得到宠物的年龄 } /

西小庄村高伟 的博客 798

多态、使用父类类型作为参数、向上转型和向下转型、使用父类类型作为返回类型、简单工厂模式、抽象类的多态应用

《多态》 一、多态的基础概念 1、里氏替换原则:任何基类(父类)可以出现的地方,子类一定可以出现(子类对象可以替换父类对象) 2、即父类类型的变量可以引用子类对象 如:Person st = new Student(); 3、extends关键字不翻译为继承,是指的正确翻译是扩展 (1)子类可以扩展出父类没有的方法 (2)子类可以覆盖重写父类现有的方法 4、子类对象可以替换父类对象的原因是子类的...

qq_44186793的博客 1356

多态性最最简单应用,以及对象数组使用方法

在学习多态性的过程中,学会了使用对象数组,还是指针的,具体思想如下,先用类定义对象(父亲和儿子都要定义),再把这些对象,放入定义的对象数组中,而且父类对象数组中可以包含子类对象, 还有就是实现多态性,就在父类成员函数前面加virtual就行 上代码: Father.h #pragma once #include<iostream> using namespace std; class Father {public: virtual void play(); }; Father.cpp #i

weixin_49324123的博客 327
上一篇: C++继承的相关概念
下一篇: 成员函数的重载,覆盖和隐藏
lm_123_456
博客等级 码龄11年 35粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值