ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2021-10-01

2021-10-01 16:00:21  阅读:170  来源: 互联网

标签:10 01 people things teacher 2021 Student 设计模式 public


java设计模式

设计模式代表有经验的面向对象软件开发人员使用的最佳实践。 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。 这些解决方案是由许多软件开发人员在相当长的时间内通过试错获得的。

设计模式可以分为三类:创造模式,结构模式和行为模式

1.创造模式

这些设计模式提供了一种创建对象而隐藏创建逻辑的方法,而不是直接使用 new 操作符来创建对象。

2.结构模式

这些设计模式涉及类和对象组成。 继承概念用于组成接口并定义方法组合对象以获得新功能。

3.行为模式

这些设计模式是特别侧重于对象之间的通信。

设计模式与代码语言无关,它主要解决的是代码的设计问题。它是一种想法和方法。通过使用设计模式,可以使我们的代码更灵活,可重用和可维护。

创造模式

Java工厂设计模式

原理:这是一种比较简单的方法,第一步我们要创建一个接口,对于这个接口,我们可以实现多个类来实现它。看这些类我们可以说它们都是同一个类型(实现的接口),然后我们再创建一个类,这个类是更具你传递的参数,我给你返回具体的来。具体的实现属下图所示:

在这里插入图片描述

peopleFactory中有一个方法,这个方法更具对象的名字创建相应的对象,返回的类型应该是people类型的,而不是具体的类。

这里实现的就是多态

代码部分:

接口:

public interface people {
    public void things();
}

实现类:

public class Student implements people{
    @Override
    public void things() {
        System.out.println("Student");
    }
}
public class teacher implements people{
    @Override
    public void things() {
        System.out.println("teacher");
    }
}

工厂:

public class PeopleFactory {

    public people getpatople(String name){
        if (name.equals("Student")){
            return new Student();
        }
        if (name.equals("teacher")){
            return new teacher();
        }
        return null;
    }
}

测试方法:

public class Factorytest {

    public static void main(String[] args) {

        PeopleFactory peopleFactory = new PeopleFactory();
        people people = peopleFactory.getpatople("Student");
        people.things();
        people people1 = peopleFactory.getpatople("teacher");
        people1.things();
    }
}

out:

Student
teacher

标签:10,01,people,things,teacher,2021,Student,设计模式,public
来源: https://blog.csdn.net/good_lick/article/details/120578361

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有