【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值

简介: 【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值

绪论

     说到构造函数,我的前文已经向大家介绍了java的构造方法之应用,总结一句话:构造方法就是为数据成员初始化的!但大家注意了吗?我们的构造方法都是单一的,要么针对基类自己的成员赋值,要么针对子类自己的成员初始化赋值;但是在C#中,有一个特别的功能:子类构造方法可以同时为父类构造方法进行初始化

这个有什么用吗?其实这样使用笔者感觉更为方便灵活,在特殊情况下,基类属性如果是publicprotected那么子类可以修改基类数据成员的值,减轻了管理顶层设计程序员的压力。当然压力对于大家都是此消彼长的,管理模块化的程序员们压力又大了,但这也预示着程序的高效管理与应用!


一.派生类构造方法如何给基类构造方法传参赋值

     这其实就用了一个关键字:Base

让我们看一个简单应用案例

public class Student{
  protected string name;
  protected int age;
  
 public Student(string name, int age)
        {
            this.name = name;
            this.age = age;
        }
}

注意在这里我们的基类构造方法就是这个有参的构造方法:

public Student(string name, int age)
        {
            this.name = name;
            this.age = age;
        }
}

接下来就是写一个派生类了:

里面写的第一个则为无参的构造方法,通过base关键字将参数传到了基类构造方法里

public class Undergraduate : Student{
  protected string subject;
  public Undergrauate(): base("无名", 0){
    subject = "未知";
  }
}


目录
打赏
0
0
0
0
42
分享
相关文章
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
204 8
|
8月前
|
C# 一分钟浅谈:数组与集合类的基本操作
【9月更文挑战第1天】本文详细介绍了C#中数组和集合类的基本操作,包括创建、访问、遍历及常见问题的解决方法。数组适用于固定长度的数据存储,而集合类如`List<T>`则提供了动态扩展的能力。文章通过示例代码展示了如何处理索引越界、数组长度不可变及集合容量不足等问题,并提供了解决方案。掌握这些基础知识可使程序更加高效和清晰。
127 5
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
238 3
|
6月前
|
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
79 3
|
6月前
|
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
142 2
|
6月前
|
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
50 0
MVC 模式在 C# 中的应用
MVC(Model-View-Controller)模式是广泛应用于Web应用程序开发的设计模式,将应用分为模型(存储数据及逻辑)、视图(展示数据给用户)和控制器(处理用户输入并控制模型与视图交互)三部分,有助于管理复杂应用并提高代码可读性和维护性。在C#中,ASP.NET MVC框架常用于构建基于MVC模式的Web应用,通过定义模型、控制器和视图,实现结构清晰且易维护的应用程序。
111 2
Uno Platform 是一个用于构建跨平台应用程序的强大框架,它允许开发者使用 C# 和 XAML 来创建适用于多个平台的应用
Uno Platform 是一个用于构建跨平台应用程序的强大框架,它允许开发者使用 C# 和 XAML 来创建适用于多个平台的应用
540 8
|
8月前
|
枚举与结构体的应用:C#中的数据组织艺术
在C#编程中,枚举(`enum`)和结构体(`struct`)是非常重要的数据类型。枚举用于定义命名常量集合,提高代码可读性;结构体则封装相关数据字段,适合小型数据集。本文从基本概念入手,探讨它们的使用技巧、常见问题及解决方案,帮助开发者更好地利用这些特性构建健壮的应用程序。
99 9
C# 一分钟浅谈:WebSocket 协议应用
【10月更文挑战第6天】在过去的一年中,我参与了一个基于 WebSocket 的实时通信系统项目,该项目不仅提升了工作效率,还改善了用户体验。本文将分享在 C# 中应用 WebSocket 协议的经验和心得,包括基础概念、C# 实现示例、常见问题及解决方案等内容,希望能为广大开发者提供参考。
432 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等