java开闭原则代码举例 uml开闭原则
java中的开闭原则讲的是什么意思
开闭原则,是一种设计模式,随着面向对象程序设计的思想,应运而生。
定远网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联公司2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
开,指的是可以在源代码的基础上进行扩展,比如继承,接口,抽象类等。在JAVA中,之所以用继承,是在可以直接调用握慎类库的前液袭提下,段埋敬对其功能进行扩展。不需要应用者去了解封装类的内部逻辑就可以做开发。
闭,指的是原本封装好的代码不允许你去更改,比如JDK里面内置的Jar包。
求助一个开闭原则的JAVA小代码
public class TestFruit {
public static void main(String[] args) {
Fruit fruit;
fruit = Gardener.NewFruit("apple");
fruit.grow();
fruit.Flowering();
fruit.Fruiting();
fruit = Gardener.NewFruit("pear");
fruit.grow();
fruit.Flowering();
fruit.Fruiting();
}
}
interface Fruit {
void grow();
void Flowering();
void Fruiting();
}
class Apple implements Fruit {
public void Flowering() {
System.out.println("开花的是苹果");
}
public void Fruiting() {
System.out.println("结果的是苹果");
}
public void grow() {
System.out.println("种植的是苹果");
}
}
class Pear implements Fruit {
public void Flowering() {
System.out.println("开花的是梨");
}
public void Fruiting() {
System.out.println("结果的是梨");
}
public void grow() {
System.out.println("种植的是梨");
}
}
final class Gardener {
public static Fruit NewFruit(String fruitname) {
if (fruitname.equals("apple")) {
return new Apple();
} else if (fruitname.equals("pear")) {
return new Pear();
}
return null;
}
}
不知这样写是否正确态梁。个人认为这应该是昌碰一个工厂模式吧。
所有类的实现都由工厂类(也就是园丁类)完成。
写的只是一个简单工厂模式。
通过抽象类及接口,规定了具体类的特征作为抽象层,相对稳定,不需更改,从而帆迅运满足“对修改关闭”;而从抽象类导出的具体类可以改变系统的行为,从而满足“对扩展开放”。开闭原则在问题描述时就已经实现了。当然这只是对于客户端(也就是测试类)来说,测试类只需要提供要创建对象的描述,系统自动创建相应的对象。而对于工厂类并没有满足开闭原则。
什么是开闭原则,java开闭原则
对扩张开放,对修改关闭 就是一个中梁类中可以注入其他类对隐卖象,但是不能修改,因为修改了卖携运的话子类也变了 设计模式最基础的知识
Java中的开闭原则是什么意思
开闭原则即封闭对原来代码的修改,开放对原来代码的扩展中袜(如类的继承,接口的实现等)
开闭原则是一种设计思想,并不局限于java语言
大概意思就是这些,但是要真正隐搜掌卖携激握运用开闭原则,还是要多多实践,多多体会
分享文章:java开闭原则代码举例 uml开闭原则
标题URL:http://scjbc.cn/article/ddpjeoh.html