1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace ClassLibrary1
6
{
7
8
//抽象類
9
public abstract class Tank
10
{
11
//構造函數
12
public Tank()
13
{
14
}
15
16
//抽象方法
17
public abstract void Run();
18
public abstract void Run(string ss);
19
public abstract void Shoot();
20
21
//一般方法
22
public void Fly()
23
{}
24
25
//虛方法
26
public virtual void Call()
27
{
28
}
29
public void Call(int j)
30
{
31
}
32
33
}
34
35
//繼承抽象類
36
public class TankExtension : Tank
37
{
38
//重寫抽象方法,抽象方法一定要重寫
39
public override void Run()
40
{
41
}
42
43
public override void Shoot()
44
{
45
}
46
47
//重寫抽象方法.父類中有帶參數的其他同名方法,所以也叫多個重載
48
public override void Run(string ss)
49
{
50
}
51
52
//重寫虛方法,可以不重寫。父類中有帶參數的其他同名方法,所以也叫多個重載
53
public override void Call()
54
{
55
base.Call();
56
}
57
58
59
}
60
61
//調用 繼承抽象類的 具體類
62
public class ConcreteTank
63
{
64
//實例化類
65
TankExtension te = new TankExtension();
66
void App()
67
{
68
//只能方法中調用
69
te.Call();
70
}
71
}
72
73
//------------------------------------------------------------------------------
74
//接口
75
public interface iTank
76
{
77
//申明方法.接口中的方法都是抽象方法,所以都要被實現.而且不帶范圍修飾符,如public
78
void RunI();
79
void ShootI();
80
void FlyI();
81
}
82
83
//繼承實現接口,C#中,類的繼承只能單個,而接口可以實現多個,但是,類藥排在接口前
84
public class MakeTank : Tank, iTank
85
{
86
//構造函數
87
public MakeTank()
88
{
89
}
90
91
//實現抽象類中的方法
92
public override void Run()
93
{
94
}
95
public override void Shoot()
96
{
97
}
98
public override void Run(string ss)
99
{
100
}
101
102
//實現接口中的方法
103
public void RunI()
104
{}
105
public void ShootI()
106
{}
107
public void FlyI()
108
{}
109
}
110
111
}
112
using System;2
using System.Collections.Generic;3
using System.Text;4

5
namespace ClassLibrary16
{7

8
//抽象類 9
public abstract class Tank10
{11
//構造函數12
public Tank()13
{14
}15

16
//抽象方法17
public abstract void Run();18
public abstract void Run(string ss);19
public abstract void Shoot();20

21
//一般方法 22
public void Fly()23
{}24

25
//虛方法26
public virtual void Call()27
{28
}29
public void Call(int j)30
{ 31
}32

33
}34

35
//繼承抽象類36
public class TankExtension : Tank37
{38
//重寫抽象方法,抽象方法一定要重寫 39
public override void Run()40
{41
}42

43
public override void Shoot()44
{45
}46

47
//重寫抽象方法.父類中有帶參數的其他同名方法,所以也叫多個重載48
public override void Run(string ss)49
{50
}51

52
//重寫虛方法,可以不重寫。父類中有帶參數的其他同名方法,所以也叫多個重載53
public override void Call()54
{55
base.Call();56
}57

58

59
}60

61
//調用 繼承抽象類的 具體類62
public class ConcreteTank 63
{64
//實例化類65
TankExtension te = new TankExtension();66
void App()67
{68
//只能方法中調用69
te.Call();70
}71
}72

73
//------------------------------------------------------------------------------74
//接口75
public interface iTank76
{77
//申明方法.接口中的方法都是抽象方法,所以都要被實現.而且不帶范圍修飾符,如public78
void RunI();79
void ShootI();80
void FlyI();81
}82

83
//繼承實現接口,C#中,類的繼承只能單個,而接口可以實現多個,但是,類藥排在接口前84
public class MakeTank : Tank, iTank85
{86
//構造函數87
public MakeTank()88
{89
}90

91
//實現抽象類中的方法92
public override void Run()93
{94
}95
public override void Shoot()96
{97
}98
public override void Run(string ss)99
{100
}101

102
//實現接口中的方法103
public void RunI()104
{}105
public void ShootI()106
{}107
public void FlyI()108
{}109
}110

111
}112



浙公网安备 33010602011771号