面向对象,抽象类。接口。类库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象,抽象类。接口。类库相关的知识,希望对你有一定的参考价值。

抽象与接口,库类的使用

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

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

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接口里面所有的都是抽
象的
例:
interface IUSB
{
void Start();
void Start();
}
2.接口里面不能包含普通成员
3.凡是继承接口的类,全部要实现接口里面的方法

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


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

public interface Sports
{
void Sport1();
}

//类库

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

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

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

类库补充:
比如我写程序需要用到加法和减法两个功能,假如我不会写这两个功能,需要其它人帮忙;
那么其它人就可以直接写一个类库,供我使用;

1、源代码方法:
可以将直接写好的.cs源代码文件,添加进我的解决方案文件夹下,在解决方案资源管理器中,
项目上右键,添加,现有项,来添加此.cs源代码文件的使用,需要引入相应的命名空间;

2、类库方法:
一个dll文件,就是一个类库;
它人新建一个类库,在里面编写类和相应的方法,生成后出现一个dll文件,拿过来,放在自己的
程序文件夹里,在项目右键,添加引用,找到此dll类库文件添加,然后引用命名空间,就可以调用相应的类中的方法了;

注意类一定要是public访问权限

类库使用是多公司联合开发时使用的方式,因为每个公司都有自己的核心技术,我允许你使用,但不允许你
知道我是怎么编写的,所以需要dll类库文件,因为dll文件是将源代码文件编译后的文件,看不到源代码,
所以你只能调用不允许更改;

 

以上是关于面向对象,抽象类。接口。类库的主要内容,如果未能解决你的问题,请参考以下文章

php面向对象 封装继承多态 接口重载抽象类最终类总结

TypeScript,面向对象,类、构造函数、继承、抽象类、接口和封装

初识面向对象-接口类抽象类封装

面向对象 接口

面向对象第七天----数据库抽象层PDO

面向对象的理解 抽象类&接口