Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) |
助力理解 语法中 类 的继承关系 为新手节省宝贵的时间,避免采坑! |
1
Inherit —— 继承
C# —— 面向对象编程的三大特性:封装、继承、多态
这里我们来详细说说: 继承
通过简单的例子,来说明继承关系
3个子类,同时继承一个父类
那么父类中的函数,子类都将拥有
用中国的老话 “子承父业”理解,很是合适
也可以理解为: 老子会什么,儿子就会什么
2
Parent Class:Enemy —— 父类:总敌人类
我们以控制台程序,来举个例子
Enemy —— 敌人类,可以包含很多种敌人的父类
可以具备敌人通用的所有属性 / 函数
using System;
/// <summary>
/// 这里用中文来写命名空间,为了方便理解
/// </summary>
namespace 继承
{
/// <summary>
/// 敌人总类
/// </summary>
class Enemy
{
public void Ai()
{
Console.WriteLine("这是怪物智能系统");
}
public void Move()
{
Console.WriteLine("怪物移动方法");
}
private float hp = 10; //血量
private float speed; //速度
/// <summary>
/// 速度
/// </summary>
public float Speed
{
get { return speed; }
set { speed = value; }
}
/// <summary>
/// HP血量
/// </summary>
public float Hp
{
get { return hp; }
set { hp = value; }
}
}
}
3
Subclass:Boss ——子类:首领
Boss —— 首领:属于怪物的一种,同样属于敌人,所以可以继承 Enemy 敌人类
这样,不用再 Boss 类中写任何方法,首领就具备敌人通用的所有属性 / 函数
using System;
namespace 继承
{
/// <summary>
/// 首领怪物
/// </summary>
class Boss : Enemy
{
/// <summary>
/// 攻击
/// </summary>
public void Attack()
{
Console.WriteLine("Boss正在猛烈的摇晃");
}
/// <summary>
/// 测试Boss
/// </summary>
/// <returns></returns>
public float TestBoss()
{
return Hp = 100;
}
}
}
4
Subclass:Enemy1、Enemy2 ——子类:敌人1、敌人2
Enemy1、Enemy2 —— 代表两种敌人类型:属于怪物的一种,同样属于敌人,所以可以继承 Enemy 敌人类
这样,不用再 Enemy1、Enemy2 类中写任何方法,默认两种怪物,就具备敌人通用的所有属性 / 函数
class Enemy1 : Enemy
{
}
class Enemy2 : Enemy
{
}
5
Test Main ——主入口:测试
Enemy1、Enemy2 —— 代表两种敌人类型:属于怪物的一种,同样属于敌人,所以可以继承 Enemy 敌人类
这样,不用再 Enemy1、Enemy2 类中写任何方法,默认两种怪物,就具备敌人通用的所有属性 / 函数
using System;
namespace 继承
{
class Program
{
/// <summary>
/// 主入口
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Boss boss = new Boss(); //boss对象
boss.Ai(); //这个是boss的智能系统
Console.WriteLine();
Enemy e = new Boss(); //由其派生类完成了初始化,所以e对象Enemy对象
e.Move(); //在这里 相当于e.move
Console.WriteLine();
((Boss) e).Attack(); //强转为Boss类型,就可以访问其中的方法
Console.WriteLine(((Boss) e).TestBoss());
Console.ReadLine();
}
}
}
输出结果:
这是怪物智能系统
怪物移动方法
Boss正在猛烈的摇晃
100
支持
May Be —— 搞开发,总有一天要做的事!
Chinar 提供一站式教程,闭眼式创建! 为新手节省宝贵时间,避免采坑! |
先点击领取 —— 阿里全产品优惠券 (享受最低优惠)
1 —— 云服务器超全购买流程 (新手必备!)
2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)
3—— Windows 服务器配置、运行、建站一条龙 !
4 —— Linux 服务器配置、运行、建站一条龙 !
技术交流群:806091680 ! Chinar 欢迎你的加入
本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究
对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com
对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址