自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 注解 Annotation

Annotation是从JDK5.0开始引入的技术Annotation 的作用不是程序本身,可以对程序作出jiesh可以被其他程序(比如:编译器等)读取Annotation可以用在哪里?可以附加在package、class、method、field等上面,相当于给他们添加额外的辅助信息,我们可以通过反射机制编程实现对这些元数据的访问使用@interface 总定义注解时,自动继承java.lang.annotation,Annotation接。

2023-11-01 11:10:14 30

原创 开闭原则(Open Closed Principle)

/ 抽象动物类// 派生类:狗@Override");// 派生类:猫@Override");// 示例代码// 输出:Woof!// 输出:Meow!在上述示例中,我们有一个抽象的动物类Animal,并派生出了具体的狗类Dog和猫类Cat。抽象动物类定义了一个抽象方法,派生类必须实现该方法。在Main类的示例代码中,我们可以使用基类引用指向派生类的对象。通过多态性,我们可以调用基类中定义的方法,而实际调用的是派生类中实现的方法。现在,假设我们要新增一种动物,比如鸟类。

2023-10-23 17:41:34 88

原创 里氏替换原则(Liskov Substitution Principle,LSP)

比如使用继承会给程序带来侵入性,程序的可移植性降低,增加对象间的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能产生故障。里氏替换原则的定义如下:如果对于每个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都替换成o2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型。模块化和松耦合:通过定义抽象的父类和接口,可以实现模块化和松耦合的设计,提高代码的可维护性和可测试性。

2023-10-23 16:55:03 131

原创 依赖关系传递的三种方式

通过调用 setEngine() 方法,我们将具体的引擎对象(例如 GasolineEngine)作为参数传递给 Car 对象。在实例化 ProductService 对象时,我们将具体的日志记录器对象(例如 FileLogger)作为参数传递给构造函数。使用接口 ILogger 来定义日志记录器的依赖关系。根据具体的编程语言和框架,可能会有额外的方式来传递依赖关系,但接口传递、Setter传递和构造函数传递是最常见和基本的方式。这样,通过使用接口传递依赖对象,可以实现类似的依赖注入和解耦的效果。

2023-10-23 16:31:54 462

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除