C#不支援私有繼承
- 派生類應當那個被看做是基類所具有的特性和功能的繼承和擴充,而不是簡單的派生類大于基類
- 派生類不能選擇性的繼承基類的方法和屬性,必須繼承基類的所有特性和方法
- 派生類可以在繼承基類的基礎上自由定義自己的特性
- 基類的構造方法和析構方法不能夠被繼承,除此之外的所有成員都可以被繼承
- 基類成員的通路方式不影響他們成為派生類的成員
- 派生類中繼承的基類成員與基類中的成員隻是相同,不是同一個成員
來個栗子
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ch06Ex01
{
public class Person
{
protected string name;
protected int age;
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
public void ShowPersonInfo()
{
Console.Write("name :{0}\t age:{1}\t", name, age);
}
}
public class Student : Person
{
private string studentID;
public Student(string studentID, string name, int age) : base(name, age)
{
this.studentID = studentID;
}
public void ShowStudentInfo()
{
Console.Write("studentID:{0}", studentID);
}
}
class Program
{
static void Main(string[] args)
{
Student student = new Student("12345", "Jack", 23);
student.ShowPersonInfo();
student.ShowStudentInfo();
}
}
}