刘铁猛C#入门 027 抽象和开闭原则

什么是接口和抽象类

接口和抽象类都是"软件工程产物"

抽象类

具体类→抽象类>接口:越来越抽象,内部实现的东西越来越

抽象类是末完全实现逻辑的类(可以有字段和非public成员,它们代表了"具体逻辑")

抽象类为复用而生:专门作为基类来使用,也具有解功能

封装确定的,开放不确定的,推迟到合适的子类中去实现

抽象类里面不一定是抽象方法,抽象方法一定在抽象类

接口

接口是完全未实现逻辑的"类"("纯类",只有函数成员;成员全部public abstract)

接口为解耦而生:"高内聚,低耦合",方便单元测试

接口是一个"协约",早已为工业生产所熟知(有分工必有协作,有协作必有协约)

它们都不能实例化,只能用来声明变量、引用具体类(concrete class)的实例

相关推荐
yunsr8 小时前
python作业3
开发语言·python
星火开发设计8 小时前
this 指针:指向对象自身的隐含指针
开发语言·数据结构·c++·学习·指针·知识
梵刹古音8 小时前
【C++】构造函数
开发语言·c++
独自破碎E8 小时前
【曼哈顿距离】BISHI25 最大 FST 距离
java·开发语言
苏涵.8 小时前
Java三大集合:List、Set、Map
java·开发语言
Amumu121388 小时前
Vue3 Composition API(一)
开发语言·javascript·ecmascript
存在的五月雨8 小时前
Spring Security认证流程
java·开发语言·mysql
树码小子8 小时前
综合练习:验证码案例(1)总体设计
java·开发语言·spring
草莓熊Lotso8 小时前
Qt 主窗口核心组件实战:菜单栏、工具栏、状态栏、浮动窗口全攻略
运维·开发语言·人工智能·python·qt·ui
Ronin3058 小时前
持久化数据管理中心模块
开发语言·c++·rabbitmq·gtest