从派生类访问基类的非私有成员解决方案
从派生类访问基类的非私有成员
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 实力5_2
{
class Program
{
public static void Main()
{
Student student = new Student("大雄", 12, "一中");
Console.WriteLine(student.Name);
Console.WriteLine(student.Age);
Console.WriteLine(student.School);
}
}
class Person
{
public string Name;
public int Age;
public Person(string name, int age)
{
Name = name;
Age = age;
Console.WriteLine("{0},{1}", Name, Age);
}
}
class Student:Person
{
public string School;
public Student(string name,int age,string school):base(name,age)
{
School=school;
Console.WriteLine("{0},{1},{2}",Name,Age,School);
}
}
}
------解决思路----------------------
程序是从main开始执行的。这个你可以单步调试查看。程序在执行派生类的构造函数时,先执行父类的带有想同参数的构造函数,父类若还有基类,则先执行基类的构造函数,因为你在person类的构造函数中添加了输出,所以才会有这样的结果。
------解决思路----------------------
派生类在实例化的时候会先调用父类无参的构造函数(默认的情况下)
public Student(string name,int age,string school):base(name,age)
这里你指定的是调用父类的public Person(string name, int age)这个构造函数。。
执行顺数是
1.父类构造函数
2.派生类的构造函数
3.你之后的类容
这些都很基本
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 实力5_2
{
class Program
{
public static void Main()
{
Student student = new Student("大雄", 12, "一中");
Console.WriteLine(student.Name);
Console.WriteLine(student.Age);
Console.WriteLine(student.School);
}
}
class Person
{
public string Name;
public int Age;
public Person(string name, int age)
{
Name = name;
Age = age;
Console.WriteLine("{0},{1}", Name, Age);
}
}
class Student:Person
{
public string School;
public Student(string name,int age,string school):base(name,age)
{
School=school;
Console.WriteLine("{0},{1},{2}",Name,Age,School);
}
}
}
------解决思路----------------------
程序是从main开始执行的。这个你可以单步调试查看。程序在执行派生类的构造函数时,先执行父类的带有想同参数的构造函数,父类若还有基类,则先执行基类的构造函数,因为你在person类的构造函数中添加了输出,所以才会有这样的结果。
------解决思路----------------------
派生类在实例化的时候会先调用父类无参的构造函数(默认的情况下)
public Student(string name,int age,string school):base(name,age)
这里你指定的是调用父类的public Person(string name, int age)这个构造函数。。
执行顺数是
1.父类构造函数
2.派生类的构造函数
3.你之后的类容
这些都很基本