子类构造函数如何调用父类构造以及类成员和方法
2026/6/5 23:18:02 网站建设 项目流程

子类构造函数


//调用子类构造函数,首先先去父类的不带参数构造参数
//想调用父类的带参数构造函数,在子类的构造函数添加:base(参数1,参数2)调用父类有参数构造函数

//创建子类的对象
Student s1 = new Student(); //调用子类构造函数,首先先去父类的不带参数构造参数
Student s2 = new Student("11", 10);// 调用的是子类带参数构造函数,首先调用还是父类不带参数的构造函数,


// 能不能调用子类的有参数构造能够触发父类有参数构造函数,子类如何调用父类的构造
Student s3 = new Student("张三"); //调用带一个参数构造


Console.ReadKey();
}
}
class People
{
public string Name { get; set; }
public int Age { get; set; }
public People()
{
Console.WriteLine("People父类构造函数");
}
public People(string a,int b)
{
//带参数的构造函数
Console.WriteLine("People带参数的构造函数");
Name = a;
Age = b;
}

}
class Student:People
{
// Name 和Age属性可以被继承过来
public int Id { get; set; }
public Student()
{
Console.WriteLine("Student子类构造函数");
}
public Student(string a,int b )
{
Console.WriteLine("子类的带参数的构造函数");
}
//this 当前类对象
//base 父类对象
public Student(string a):base (a,20)
{
//调用这个方法触发父类带参数构造函数
Console.WriteLine(a+"验证在子类如果调用父类有参数的构造 base基类 ,父类");
}


//类成员和方法

分为静态和非静态俩大类


//静态成员或方法 找类名.进行使用,存储类中,是类共有,
//非静态的成员或方法 找对象.进行使用 存储在每一个对象里面

//静态方法 不能访问非静态成员或方法,可以访问静态的成员或方法
//非静态方法:可以访问静态的成员或方法,也可以访问非静态的方法或成员

People p1 = new People();
p1.Name = "张三";// 对象.属性
People.Count = 20;//类.属性

p1.Test1(); //非静态方法
People.Test2();// 静态方法调用

Console.ReadKey();
}
}

public class People
{
public string Name { get; set; } //非静态成员
public static int Count { get; set; } // 静态成员

public void Test1() //非静态方法:可以访问静态的成员或方法,也可以访问非静态的方法或成员
{
Console.WriteLine("我是非静态方法Test1");

Console.WriteLine(this.Name+"-----"); //this在本类里面可以this代表当前对象,this在本类可以省掉
Console.WriteLine(Count+"-------");
People.Test2();//People在本类可以省掉
}
public static void Test2()//静态方法 不能访问非静态成员或方法,可以访问静态的成员或方法
{
Console.WriteLine("我是静态方法Test2");
Console.WriteLine(Count+"+++++");
//Console.WriteLine(this.Name+"+++++++");
// Test2(); 不要在自己方法里面调用自己 导致死循环

}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询