重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

java开闭原则代码 js开闭原则

java中的开闭原则讲的是什么意思

开闭原则,是一种设计模式,随着面向对象程序设计的思想,应运而生。

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开闭原则代码 js开闭原则
网页链接:http://cqcxhl.com/article/ddopicj.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP