码农小白 类和继承 C#篇

本文深入探讨C#中的类和继承概念,包括类继承、访问继承成员、object类、屏蔽基类成员、虚方法与覆写方法以及成员访问修饰符等内容。适合初学者和进阶者理解C#面向对象编程的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类和继承

1、类继承

通过继承我们可以定义一个新的类,新类纳入一个已经声明的类进行扩展
可以用一个已经存在的类作为新类基类。已存在的类称为基类,新类叫派生类

class A    //基类
{
	...
}

class B : A    //派生类
{
	...
}

2、访问继承的成员

class A    //基类
{
	public float PI = 3.1415926;

	public void PrintPI()
	{
		Console.WriteLine(PI);
	}
}

class B : A    //派生类
{
}

calss Program
{
	static void Main()
	{
		A a1 = new A();
		a1.PrintPI();

		B b1 = new B();
		Console.WriteLine(b1.PI);    //访问继承的字段
		bi.PrintPI();    //访问继承的函数
	}
}

输出结果

3.1415926
3.1415926
3.1415926

3、object类

除了object类,其他类都是派生类,即使他没有基类规格说明,都默认派生自object类

4、屏蔽基类成员

派生类不能删除基类成员,到可以屏蔽基类成员
可用 new 修饰符屏蔽基类成员
屏蔽的类成员可以用 base 关键字访问

class A    //基类
{
	public int str = "我是基类A";
}

class B : A    //派生类
{
	new public string str = "我是派生类B";    //用同样的名称屏蔽基类成员

	public void Print()
	{
		Console.WriteLine(str);    //访问屏蔽成员
		Console.WriteLine(base.str);    //访问基类成员
	}
}

输出结果

我是派生类B
我是基类A

5、虚方法和覆写方法

派生类的方法和基类的方法要有相同的签名和返回类型
基类的方法使用virtual标注虚方法
派生类中使用override标注覆写方法

class A
{
	virtual public int Add();    //声明虚方法
	virtual public void Print();    //声明虚方法
} 

class B : A
{
	override public int Add()    //声明覆写方法
	{
		...
	}
	override public void Print()    //声明覆写方法
	{
		...
	}
} 

6、成员访问修饰符

  • 1、公有成员的可访问性
    • 关键字public
    • public访问级别是限制最少的,所有的类和外部类都可以自由的访问成员
  • 2、私有成员的可访问性
    • 关键字private
    • private访问级别是限制最严格的,除了自己类的成员其他类都不可访问,包括继承它的类
  • 3、受保护成员的可访问性
    • 关键字protected
    • protected访问级别和private访问级别相同,不过它能被派生自该类的成员访问
  • 4、内部成员的可访问性
    • 关键字internal
    • 标记internal的成员只能在同一个程序集的类访问,其他程序集不可访问
  • 5、受保护内部成员的可访问性
    • 关键字protected internal
    • 标记 protected internal 的成员只能被同一个程序集的派生自该类的成员访问

成员访问修饰符

修饰符含义
public对任何类可访问
private只在类的内部可访问
protected对所有继承该类的类可访问
internal对该程序集的所有类可访问
protected internal对该程序集内继承该类的的所有类可访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值