P27抽象类与开闭原则
回溯记录:
2021/12/24回溯
一、P27内容总结
学前提要:SOLID
SLP 单一设计原则
OCP 开闭原则
LSP 替换原则
ILP 接口隔离原则
DSP 依赖反转原则
1.抽象类
2.开闭原则
3.接口
4.对抽象类、开闭原则与接口的总结
二、抽象类:函数成员没有被完全实现的类
抽象方法:函数没有被实现的方法,可以被子类实现
//简单的抽象类&抽象方法,用abstract关键字修饰
abstract class Student
{
abstract public void Study();
}
三、开闭原则:函数成员没有被完全实现的类
封装一些不变的、稳定的、固定的成员,
不确定的、有可能改变的成员声明为抽象成员并且留给子类实现
不同类型的车“刹车”的方法相同,若在各种类型的车的类中繁琐的进行复制粘贴非常的麻烦
可以使用虚方法+重写的方式
//实例:为做基类而生的“抽象类”与“开放/关闭原则”(19:30开始讲解)
using System;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
Vehicle v = new Car();
v.Run();
}
}
class Vehicle
{
public void Stop()
{
Console.WriteLine("Stopping");
}
public virtual void Run()
{
Console.WriteLine("Vehicle is running");
};
}
class Car:Vehicle
{
public override void Run()
{
Console.WriteLine("Car is running");
}
}
class