抽象类

----------------------------------------------------------------
抽象类:
抽象类,只为继承而出现,不定义具体的内容,只规定该有哪些东西;
一般抽象类中只放置抽象方法,只规定了返回类型和参数;
比如:
人 - 有吃饭,睡觉方法;
男人 - 继承人抽象类,必须实现吃饭,睡觉的方法主体;
女人 - 继承人抽象类,必须四线吃饭,睡觉方法的主体;

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

1.关键字:abstract
2.抽象类可以包含抽象方法和普通方法
3.abstract关键字可以定义方法为抽象方法,抽象方法可以没有函数体
4.抽象类无法被实例化,抽象类主要做为一个基类,让别的类继承。
5.sealed和abstract关键字不能同时出现
6.如果一个子类继承自抽象类,那么子类中必须实现所有的抽象方法
7.如果子类中没有实现父类的抽象方法,那么该子类必须是抽象类
8.如果一个类里面包含抽象方法,那么该类一定是抽象类

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

public abstruct Ren
{
public abstruct Void Eat();
public abstruct Void Sleep();
}

-----------------------------------------------------------------
接口:

极度抽象的类。

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

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

接口和抽象类的区别:
1.写法区别
关键字:interface
没有class关键字 类名一般用I开头
不用写public因为本身就是public,不用写abstract接口里面所有的都是抽
象的

2.接口里面不能包含普通成员
3.凡是继承接口的类,全部要实现接口里面的方法

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


public interface Work
{
void Skill();
void Place();
}

public interface Sports
{
void Sport1();
}

//类库

有些时候我们需要用到别人写的类

1.如果该类是源代码类 .cs文件
将文件拿到项目中,可以选择添加新建项或者选择添加现有项
引入相应的命名空间

2.如果该类不是源码,而是编译后的 .dll文件(编译后的类库)
将文件拿到项目中,添加引用--浏览--找到.dll文件
引入相应的命名空间

原文地址:https://www.cnblogs.com/weiwenxin01/p/5792423.html