抽象类和接口、类库

抽象类: 它比类更抽象。定些规则让子类继承遵循。

抽象类,只为继承而出现,不定义具体的内容,只规定该有哪些东西,

一般抽象类中只放置抽象方法,只规定了返回类型和参数

比如:
人 - 有吃饭,睡觉方法;
男人 - 继承人抽象类,必须实现吃饭,睡觉的方法主体;
女人 - 继承人抽象类,必须实现吃饭,睡觉方法的主体;

抽象类中可以有普通属性,通过子类来使用

1、关键字:abstract

2、抽象类可以包含抽象方法和普通方法

3、abstract关键字可以定义方法为抽象方法,抽象方法可以没有函数体

4、抽象类无法被实例化,抽象类主要作为一个基类,让别的类继承

5、sealed 和abstract不能同时出现,不继承,继承

6、如果一个子类继承自抽象类,那么子类中必须实现所有的抽象方法

7、如果子类中没有实现父类的抽象方法,那么该子类必须是抽象类

8、如果一个类里面包含抽象方法,那么该类一定是抽象类

 有抽象方法的,一定是抽象类

抽象类中,不一定有抽象方法

public abstruct ren

{

public sbstruct void eat();

public abstruct void sleep();

}

-----——————————————————————————————————————————------------------------------------------------------------------------------------------

接口:极度抽象的类,比抽象类还抽象,相当于严格的规章制度。

总公司--制定了规章制度(接口)--公司必须对员工进行考勤

子公司1--遵循总公司的规章制度--具体实现考勤--打卡

子公司2--遵循总公司的规章制度--具体实现考勤--点名

根据总公司的规章制度指定自己的规则

接口和抽象类区别:

1、写法不同

关键字:interface

没有class关键字  类名用大写的I开头  不用写public  不用写abstract因为接口里面所有的都是抽象的

2、接口里不能包含普通成员,

3、凡是继承接口的类,全部要实现接口里的方法

接口的功能:

因为团队开发,每个人负责一个模块,我只负责人的基本生活部分,另外一个人负责工作部分,

还有个人负责娱乐活动部分1、可以将程序拆分成多个模块2、定义了子类必须包含的功能

public interface work

{

void skill();

void place();

}

public interface sports

{

void sport1();

}

类库:

有些时候需要别人写的类

1、如果该类是源代码类    就是.cs文件

将文件拿到项目中,可以选择添加先建项或者选择添加现有项引入相应的命名空间

2、如果该类不是源码,而是编译后的.dll文件(编译后的类库)

将文件拿到项目中,添加引用——浏览——找到.dll文件

引入相应的命名空间

原文地址:https://www.cnblogs.com/yp11/p/5760683.html