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

什么是接口和抽象类

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

抽象类

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

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

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

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

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

接口

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

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

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

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

相关推荐
自动化代码美学16 分钟前
【Python3.13】官网学习之控制流
开发语言·windows·python·学习
coderxiaohan2 小时前
【C++】仿函数 + 模板进阶
开发语言·c++
刘欣的博客2 小时前
C# 从API接口获取对象而不用先定义对象类
c#·json动态创建对象
IMPYLH2 小时前
Lua 的 collectgarbage 函数
开发语言·笔记·junit·单元测试·lua
百锦再3 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
Tony Bai3 小时前
Go 在 Web3 的统治力:2025 年架构与生态综述
开发语言·后端·架构·golang·web3
CoderYanger3 小时前
B.双指针——3194. 最小元素和最大元素的最小平均值
java·开发语言·数据结构·算法·leetcode·职场和发展·1024程序员节
Charles_go3 小时前
C#中级、double和decimal有什么区别
开发语言·c#
思成不止于此3 小时前
深入理解 C++ 多态:从概念到实现的完整解析
开发语言·c++·笔记·学习·多态·c++40周年