C#教程(二):继承

1、介绍

在C#中,继承是一种面向对象编程的概念,它允许一个类(子类/派生类)获得另一个类(父类/基类)的属性和方法。这使得可以通过构建新的类,重用现有类的功能,并在不同的类之间建立层次关系。

2、继承的特点

继承有以下一些关键特点:

代码重用: 继承允许在新的类中重用已有类的代码,避免了重复编写相同的功能。

派生类可以扩展基类: 派生类可以在继承的基础上添加新的字段、属性、方法,从而增加功能。

方法的重写: 在C#中,可以通过在派生类中使用 override 关键字来重写基类的虚方法。这实现了多态性,使得在运行时能够根据实际的对象类型调用正确的方法。

3、示例1:代码重用

3.1 创建一个基类Person

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace _09继承
{
   
    // 基类
    public class Person
    {
   
        private string _name;

        public string Name
        {
   
            get {
    return _name; }
            set {
    _name = value; }
        }
        private int _age;

        public int Age
        {
   
            get {
    return _age; }
            set {
    _age = value; }
        }
        private char _gender;

        public char Gender
        {
   
            get {
    return _gender; }
            set {
    _gender = value; }
        }

        public void CHLSS()
        {
   
            Console.WriteLine("吃喝拉撒睡");
        }
        public Person(string name, int age, char gender)
        {
   
            this.Name = name;
            this.Age = age;
            this.Gender = gender;
        }
       
    }
}

3.2 创建一个派生类Student

使Student继承Person

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _09继承
{
   
    // 派生类
    public class Student : Person
    {
   
        private int _id;

        public int Id
        {
   
            get {
    return _id; }
            set {
    _id = value; }
        }
        public void StuSayHello()
        {
   
            Console.WriteLine("学生会学习");
            
        }
        public Student(string name, int age, char gender, int id)
            : base(name, age, gender)
        {
   
            //this.Name = name;
            //this.Age = age;
            //this.Gender = gender;//用了base()调用基类的构造函数,这三行就不用了
            this.Id = id;
        }

    }
}

4、示例2:重写方法

创建基类Shape

// 基类
public class Shape
{
   
    public virtual void Draw()
    {
   
        Console.WriteLine("画一个多边形");
    }
}

创建一个派生类Circle并使其继承基类Shape

// 派生类
public class Circle : Shape
{
   
	// 重写基类的Draw方法
    public override void Draw()
    {
   
        Console.WriteLine("画一个圆");
    }
}

相关推荐

  1. C#教程):继承

    2023-12-15 04:22:01       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 04:22:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 04:22:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 04:22:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 04:22:01       20 阅读

热门阅读

  1. Kotlin 中的 `as` 关键字:类型转换的艺术

    2023-12-15 04:22:01       36 阅读
  2. linux下使用tc控制和模拟网络流量

    2023-12-15 04:22:01       30 阅读
  3. 扫雷/python中*解包作用

    2023-12-15 04:22:01       38 阅读
  4. Linux——MySQL备份与恢复

    2023-12-15 04:22:01       34 阅读
  5. 深入探索 Rust 宏编程

    2023-12-15 04:22:01       33 阅读
  6. 一起看看StatusBarManagerService(三)

    2023-12-15 04:22:01       32 阅读
  7. 【C语言数据结构】拓扑排序(代码演示)

    2023-12-15 04:22:01       31 阅读
  8. android studio简易app实例

    2023-12-15 04:22:01       36 阅读