C#:定义一抽象类Pet(宠物)类,作为基类
用C#语言编写一段程序,满足以下要求:
1.定义一抽象类Pet(宠物)类,作为基类。
2.类中定义两个私有字段毛色和年龄,定义抽象方法完成宠物的自我介绍功能;
3.定义两个派生类Cat和Dog,再覆写基类抽象方法;
4.定义包含主方法的类MainClass,通过抽象类对象调用派生类的覆写方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication2
{class MainClass // 定义包含主方法的类MainClass{static void Main(string[] args){Pet cat = new Cat("black", 2);cat.GetInfo();// 通过抽象类对象调用派生类的覆写方法Console.ReadKey();}}/* 定义一抽象类Pet(宠物)类,作为基类。类中定义两个私有字段毛色和年龄,定义抽象方法完成宠物的自我介绍功能;定义两个派生类Cat和Dog,再覆写基类抽象方法;定义包含主方法的类MainClass,通过抽象类对象调用派生类的覆写方法。*/public abstract class Pet // 定义一抽象类Pet(宠物)类{private string color; // 定义两个私有字段毛色和年龄private int age;public string Color { get { return color; } }public int Age { get { return age; } }public Pet(string color, int age){this.color = color;this.age = age;}public abstract void GetInfo(); // 定义抽象方法完成宠物的自我介绍功能}public class Cat : Pet{public Cat(string color, int age) : base(color, age){ }public override void GetInfo() // 再覆写基类抽象方法{Console.WriteLine("My color is {0},i'm {1} years old.", base.Color, base.Age);}}public class Dog : Pet {public Dog(string color,int age) : base(color,age) { }public override void GetInfo(){Console.WriteLine("My color is {0},i'm {1} years old.", base.Color, base.Age);}}
}
电子邮箱:daixiangcn@outlook.com
简介:中华人民共和国公民,中国共青团员,CSDN博客专家,秦淮区疾控中心托管社会公益组织指南针工作室志愿者,在校大学生,参与过微信小程序《约车吗》、《指南针微公益》、《智慧庆云禅寺》的开发。
C#:定义一抽象类Pet(宠物)类,作为基类相关推荐
- C++ 类继承:构造函数与析构函数调用顺序,派生类和基类之间的特殊关系,公有继承及其他
文章目录 一.派生类构造函数与基类构造函数 二.创建与销毁派生类对象时,构造函数和析构函数的调用 三.派生类和基类之间的特殊关系 四.公有继承 (一).何为公有继承 (二).多态公有继承 (三).虚函 ...
- 派生类到基类的转换 和基类到派生类的转换
一. 基类与派生类的转换 3种继承方式(公用.保护.私有继承)中,公用派生类才是基类真正的子类型,它完整地继承了基类的功能. 不同类型数据之间在一定条件下可以进行类型的转换.基类与派生 ...
- java永久冻结_Java如何解决脆弱基类(基类被冻结)问题
概述 大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系).实际上80%的代码应该完全用interfaces写,而不是通过extends."JAVA设计模式"一 ...
- 派生类对基类成员的访问控制之公有继承
公有继承 前面说过,派生类从基类继承时有三个步骤, 第一个步骤是吸收基类成员,吸收了基类中除构造函数和析构函数之外的所有数据成员和函数成员, 第二个步骤就是修改基类成员,包括修改对基类成员的访问属性和 ...
- 派生类从基类继承的过程
派生类从基类继承的过程 派生类从基类继承的过程可以分为三个步骤:吸收基类成员.修改基类成员和添加新成员. 吸收基类成员就是代码复用的过程,修改基类成员和添加新成员实现的是对原有代码的扩展,而代码的复用 ...
- C++学习记录:派生类向基类转换及其可访问性
知乎有很多博主学不会了一言不合就抄书,我觉得这对学习计算机科学是一样的. 这里说一个自己或许也有许多人都会也不太注意的点,派生类向基类转换及其可访问性,抄自<C++ Primer>. 派生 ...
- 从零开始学C++之继承(二):继承与构造函数、派生类到基类的转换
一.不能自动继承的成员函数 构造函数(包括拷贝构造函数) 析构函数 =运算符 二.继承与构造函数 基类的构造函数不被继承,派生类中需要声明自己的构造函数. 声明构造函数时,只需要对本类中新增成员进行初 ...
- C++ 多继承类 虚基类
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/jzj_c_love/article/d ...
- 6-4 派生类使用基类的成员函数
6-4 派生类使用基类的成员函数 分数 5 全屏浏览题目 切换布局 作者 李廷元 单位 中国民用航空飞行学院 按要求完成下面的程序: 1.定义一个Animal类,成员包括: (1)整数类型的私有数据成 ...
- 【C++ Priemr | 15】派生类向基类转换的可访问性
1. 只有当D公有继承B时,用户代码才能使用派生类向基类的转换:如果D私有继承B的方式是受保护的或者私有的,则用户代码不能使用该转换. class A {}: class B : public A { ...
最新文章
- Datawhale数据分析教程来了!
- TensorFlow练习2: 对评论进行分类
- java和python哪个好就业2020-java和python哪个未来发展比较好?
- idea窗口下方滚动条不明显设置
- SQL Server 调优系列进阶篇 - 查询语句运行几个指标值监测
- 【论文解读】DCN-M:Google提出改进版DCN,用于大规模排序系统的特征交叉学习(附代码)...
- 从零开始学习PYTHON3讲义(二)把Python当做计算器
- python 蒙特卡罗_蒙特卡洛模拟(Python)深入教程
- git status
- Linux中如何删除一个大文件
- 【C语言01】用二维数组实现最简单的三子棋游戏
- paraview编译
- UART串口通信协议详解
- 阿里数据中台维度建模规范、维度模型设计及模型实施方法论
- linux安装硬盘超过2t,linux 硬盘超过2T问题
- iOS-Property follows Cocoa naming convention for returning ‘owned‘ objects
- MacBookpro连不上WiFi,网络增加新的位置解决
- 生信软件c语言,科学网—[转载]没有docker我真的不想动这样的生信软件 - 张成岗的博文...
- DV2020T 综合
- 极客战记[森林]CHALLENGE:MAGIC EXAM