7. 封装继承

Posted LiuChangwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7. 封装继承相关的知识,希望对你有一定的参考价值。

一、类的封装:

  1、封装就是将数据或函数等 集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。
  2、封装的意义在于保护或者防止代码被我们无意中破坏;
  3、能够修饰类的访问修饰符只有两个:public、 internal 。子类的访问权限不能高于父类的访问权限。

二、类的继承:

  1、就是子类包含父类的数据结构和行为方式,包括字段、属性、方法和事件;
  2、被继承的类叫基类,继承的类叫派生类或子类;
  3、当一个类从另一个类派生出来的时候,派生类就具有基类的数据成员、属性成员和方法成员等;
  4、基类中成员的代码,在派生类中已不需要重写,只需要编写基类定义中所不具有的代码;
  5、派生类定义与基类同名的成员,则覆盖基类成员;
  6、在类的继承中,基类与派生类的声明可以有同名的方法,而且同名的方法可以有不同的代码。也就是说基类与派生类的相同功能中可以有不同的实现方法,从而为解决同一问题提供多种途径;
  7、派生类自然继承基类的成员,但不能继承基类的构造函数成员。

三、例:

 1     //新建第一个类
 2     class Clerk
 3     {
 4         private string _name; //声明变量
 5         public string Name    //生成属性
 6         {
 7             get
 8             {
 9                 return _name;
10             }
11 
12             set
13             {
14                 _name = value;
15             }
16         }
17         public string Department
18         {
19             get
20             {
21                 return department;
22             }
23 
24             set
25             {
26                 department = value;
27             }
28         }
29 
30         private string department;
31 
32         //创建一个方法
33         public void Wrte1()
34         {
35             Console.WriteLine("我叫{0},我是{1}部门的!",this.Name,this.Department );
36         }
37     }
38 
39     //新建一个类继承Clerk类
40     class Target:Clerk //继承于Clerk
41     {
42         //声明变量并添加属性
43         private int _sellTarget;
44 
45         public int SellTarget
46         {
47             get
48             {
49                 return _sellTarget;
50             }
51 
52             set
53             {
54                 _sellTarget = value;
55             }
56         }
57         //定义方法
58         public void Write2()
59         {
60             Console.WriteLine("我叫{0},我是{1}部门的!,我的销售目标是{2}",this.Name ,this.Department ,this.SellTarget );
61         }
62     }
63 
64     //新建一个类继承
65     class Satisfaction:Clerk    //继承于Clerk
66     {
67         private double _clientSatisfaction;
68 
69         public double ClientSatisfaction
70         {
71             get
72             {
73                 return _clientSatisfaction;
74             }
75 
76             set
77             {
78                 _clientSatisfaction = value;
79             }
80         }
81         public void Write3()
82         {
83             Console.WriteLine("我叫{0},我是{1}部门的!,我的顾客满意度是{2}",this.Name ,this.Department ,this.ClientSatisfaction );
84         }
85     }

 

以上是关于7. 封装继承的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

Python学习记录7-继承

7 面向对象的三大特征

回归 | js实用代码片段的封装与总结(持续更新中...)