review——C# (7)抽象成员和抽象类
2021-04-07 09:27
标签:其他 自己 继承 bst com 实例 [] 种类 div FROM P141 1.抽象成员 抽象成员是指设计为被覆写的函数成员。有以下特征: □必须是一个函数成员。即字段和常量不能为抽象成员。 □必须用abstract修饰符标记。 □不能有实现代码块。抽象成员的代码用分号表示。 例如,下面取自一个类定义的代码声明了两个抽象成员:一个抽象方法、一个抽象属性 抽象成员只可以在抽象类中声明。一共4种类型的成员可以声明为抽象的: 方法、属性、事件、索引 其他事项如下: □尽管抽象成员必须在派生类中用相应的成员覆写,但不能把virtual修饰符附加到abstract修饰符 □类似虚成员,派生类中抽象成员的实现必须指定override修饰符。 下图对虚成员和抽象成员进行了比较: 2.抽象类 抽象类就是指设计为被继承的类。抽象类只能用作其他类的基类。 □不能创建抽象类的实例 □抽象类使用abstract修饰符声明 □抽象类可以包含抽象成员和普通的非抽象成员。抽象类的成员可以是抽象成员和普通带实现成员的任意组合。 □抽象类可以派生自另一个抽象类。 □任何派生自抽象类的类必须使用override关键字实现该类所有的抽象成员,除非派生类自己也是抽象类。 review——C# (7)抽象成员和抽象类 标签:其他 自己 继承 bst com 实例 [] 种类 div 原文地址:https://www.cnblogs.com/quintessence/p/9110224.html1 abstract public void PrintStuff(string s);//分号替换实现
2 abstract public int MyProperty
3 {
4 get;//分号替换实现
5 set;//分号替换实现
6 }
1 abstract class MyClass //基类
2 {
3 ……
4 }
1 abstract class MyClass //基类
2 {
3 ……
4 }
5 abstract class AbClass : MyClass
6 {
7 ……
8 }
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6
7 namespace review
8 {
9 abstract class AbClass //抽象类
10 {
11 public void IdentifyBase() //普通方法
12 {
13 Console.WriteLine("I am AbClass");
14 }
15 abstract public void IdentifyDerived(); //抽象方法
16 abstract public int MyInt { get; set; } //抽象属性
17 }
18 class DerivedClass : AbClass
19 {
20 public override void IdentifyDerived()
21 {
22 Console.WriteLine("I am DerivedClass");
23 }
24 private int _myInt;
25 public override int MyInt
26 {
27 get
28 {
29 return _myInt;
30 }
31
32 set
33 {
34 _myInt = value;
35 }
36 }
37 }
38 class Program
39 {
40 static void Main(string[] args)
41 {
42 //AbClass a = new AbClass(); //错误 抽象类不能实例化
43 //a.IdentifyDerived();
44 DerivedClass b = new DerivedClass(); //实例化派生类
45 b.MyInt = 28;
46 b.IdentifyBase(); //调用继承的方法
47 b.IdentifyDerived(); //调用抽象方法
48 Console.WriteLine(b.MyInt);
49 Console.Read();
50 }
51 }
52 }
53 /*
54 * 输出如下:
55 * I am AbClass
56 * I am DerivedClass
57 * 28
58 * */
下一篇:Java进阶--Map集合
文章标题:review——C# (7)抽象成员和抽象类
文章链接:http://soscw.com/index.php/essay/72342.html