C#教程(二):继承
2023-12-14 22:36:08
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("画一个圆");
}
}
文章来源:https://blog.csdn.net/WwLK123/article/details/135002242
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!