3 1 Class Base Class Derived Base int
继承 3 -1 基类 派生类 Class Base { Class Derived : Base // 成员变量 { // 成员变量 int basevar; // 成员函数 Base_fun 1() int derivedvars; // 成员函数 Derived_fun 1() { { // 定义 } ……. void main() ……. { Derived objdr = new Derived() ; objdr. Base_fun 1(); } 继承而来
Class 3 -3 Animal 继承 基类 { // 成员变量 int eyes, nose; Animal() { eyes = 2; nose = 1; } Pet_Animal() { 派生类 Class Dog : Animal { // 成员变量 // 成员函数 private Barking() { // 定义 } private Wagging_Tail() { // 定义 } }
调用 base 构造函数 public class Teacher: Person { private uint id; //调用 Teacher构造函数 public Teacher(string name, uint age, uint id): base(name, age) { this. id = id; : base. Console. Write. Line(id); 关键字将调用 Person 类构造函数 } }
示例 public class Person { public string _name; public uint _age; public Person(string name, uint age) { this. _name = name; static void Main(string[] this. _age = age; args) Console. Write. Line(_name); { Console. Write. Line(_age); //构造 Student } Teacher objt= new Teacher(“张三", 32, 003); } } public class Teacher: Person { private uint _id; public Teacher(string name, uint age, uint id): base(name, age) { this. _id = id; Console. Write. Line(_id); } }
关键字 override 基类 Class Base { // 成员变量 int basevar; // 成员函数 Func 1() { // 定义 } ……. 派生类 Class Derived : Base { // 成员变量 int derivedvars; // 成员函数 override Func 1() { // 定义 } …….
关键字 virtual [Access modifier] virtual [return type] name( [parameters-list] ) {. . . // Virtual 方法实现. . . } public virtual void Func() { Console. Write. Line(“这是 virtual 方法,可以在派生类中被重写"); }
抽象类和抽象方法 2 -2 抽象类 abstract class Base { // 成员变量 int basevar; // 成员函数 abstract void base_fun 1(parameters); // 无法实现 派生类 class Derived : Base { // 成员变量 int derivedvars; // 成员函数 override void Base_fun 1(parameters) { ……. } // 实际实现. . . } 必须重写
多重接口示例 static void Main(string[] args) public interface IPict. Base { { My. Images obj. M = new My. Images(); void Apply. Beta(); } obj. M. Display. Image(); //第二个接口 obj. M. Delete. Image(); public interface IPict obj. M. Open(); { obj. M. Apply. Beta(); int Delete. Image(); } void Display. Image(); public class My. Images: Base. IO, IPict. Base, IPict } { public class Base. IO public void Apply. Beta(){ //功能实现} { public int Delete. Image(){//功能实现代码} public void Open() public void Display. Image (){//功能实现代码} { public new void Open(){//新功能实现} Console. Write. Line(“Base. IO 的 Open 方法"); } } }
- Slides: 17