技术文摘
C#中继承与构造函数调用的实例展示
2025-01-02 03:24:18 小编
C#中继承与构造函数调用的实例展示
在C#编程中,继承是面向对象编程的重要特性之一,它允许我们创建一个新类,从已有的类中派生并继承其属性和方法。而构造函数在对象创建时起着初始化的关键作用。下面通过具体实例来展示C#中继承与构造函数调用的相关内容。
定义一个基类Person:
class Person
{
public string Name { get; set; }
public Person(string name)
{
Name = name;
Console.WriteLine($"Person的构造函数被调用,姓名为:{Name}");
}
}
接着,创建一个派生类Student,它继承自Person类:
class Student : Person
{
public int StudentId { get; set; }
public Student(string name, int studentId) : base(name)
{
StudentId = studentId;
Console.WriteLine($"Student的构造函数被调用,学号为:{StudentId}");
}
}
在上述代码中,Student类通过:符号继承了Person类。在Student类的构造函数中,使用base关键字调用了基类Person的构造函数,传递了name参数。
下面是在Main方法中创建Student类对象的示例:
class Program
{
static void Main()
{
Student student = new Student("张三", 1001);
}
}
当执行这段代码时,首先会调用基类Person的构造函数,输出Person的构造函数被调用,姓名为:张三,完成对Name属性的初始化。然后再调用派生类Student的构造函数,输出Student的构造函数被调用,学号为:1001,完成对StudentId属性的初始化。
需要注意的是,如果派生类的构造函数没有显式地调用基类的构造函数,编译器会默认调用基类的无参构造函数。如果基类没有无参构造函数,就必须在派生类的构造函数中显式地调用基类的有参构造函数。
通过这个实例可以清晰地看到C#中继承与构造函数调用的关系和具体实现方式。合理运用继承和构造函数,能够提高代码的复用性和可维护性,使程序结构更加清晰和合理。
- Go 语言切片的扩容机制是怎样的?
- Rocketmq-Spring:实战与源码的全面解析
- 2023 年不懂 RabbitMQ 即将被淘汰,手把手助你进阶
- IntelliJ IDEA 2023.1 正式发布:Maven 项目提速并支持 Apache Dubbo
- Go 语言实现基于 Dispatcher 模式的事件与数据分发处理器
- 国际财务系统中基于 ShardingSphere 的数据分片与一主多从实践
- 最新:Vue 对响应式 API 中 Getter 用法的改进!
- 破系统终拆分重构,压力巨大
- Java 基础之变量类型转换与运算符入门
- Alpine.js 阐释:适用于最小化列表的 JavaScript 框架
- 美团二面:Spring 事务失效的 15 种情形
- 低代码平台适用的场景包括哪些
- Python、Go 与 Rust 为何均不支持三元运算符?
- 2023 年首季 API 安全观察:威胁态势持续恶化
- 共同探讨硬钢百度面试