Java学习笔记(十五)

来源:互联网 发布:java主要用途 编辑:程序博客网 时间:2024/05/01 21:05

一、回顾
    1、Math类:静态方法,数学中的一些公式。
       max(a,b),min(a,b),ceil(参数)得到大于参数的最小整数,floor(参数)得到小于参数的最大整数,pow(a,b)取得a的b次幂,round(参数)四舍五入的取整,abs(参数)绝对值,sqrt()平方根等等。
    2、Random类,随机类,可以产生float,double,int,boolean,指定范围的随机数。
       创建对象:
       2-1、Random random=new Random();以当前系统时间作为种子
       2-2、Random random=new Random(seed);seed是long型的
       产生随机数字的语法:
       random.nextXXX();
       random.nextInt(value);0~(value-1)
    3、第九章:自学
    4、UML:统一建模语言,用来构建模型。
       用例图:
       用例:也就是系统所提供的功能。
       参与者:是存在于系统外部,和系统发生交互的人或系统。
       用例规约:是对于相关用例具体实现详细过程,说明文档。
       类图:
       类的表达:矩形三层结构,最上层类名,中间属性,最底层方法。
       类之间的关系:
       泛化:也就是继承
       实现:就是实现接口
       依赖:引用时,引用方依赖被引用方
       关联:组合、聚合
             一对多,多对一,一对一
    5、设计模式:是一套行之有效的,被多数人知晓的,解决相应模式问题的一般方法。
       5-1、开放封闭原则:尽量增加新的类,而不要去修改原来的类。
       5-2、单一职责原则:引起类的职责变化的原因尽量单一。
       5-3、里氏替换原则:父类可以引用子类对象。
       5-4、依赖倒置原则:抽象不依赖细节,细节应该依赖于抽象。
       5-5、接口隔离原则:一个接口中的方法要尽量单一。
       5-6、简单工厂模式:
            工厂角色:生产产品。
            抽象产品:是所有产品的抽象类。
            具体产品:是抽象产品的实现类。
            通过具体的参数,来得到相应具体产品。
            需要用户具体了解产品的信息。
二、今天的内容
    1、单例模式:当需要某种类型的对象是唯一的。
       要求:
       构造方法能公有吗?只能是私有的!
       类对象的产生需要该类自己提供方式。
       方法语法:
       public class ChiarMan{
            private static ChiarMan xi;
            private ChiarMan(){
       
            }
            public static ChiarMan getInstance(){
                if(xi==null){
                   xi=new ChiarMan();       
                }
                return xi;
       
            }
       }


       题目:编写程序,实现对国家主席的一种模拟,要求主席只能有一个。
             编写测试类,自己编写业务,可以感受到只能有一个主席。


    2、观察者模式:
       发布者接口:
       发布方:
       订阅方:
       订阅者接口:
       
       题目:编写程序,实现报社和订报者业务。能够用到观察者模式。
             编写测试类,自己编写业务。
       
       
     3、开发项目的步骤(MVC):
        3-1、创建项目
        3-2、创建包,分别存放不同的类
             视图包:
             视图的抽象父类:
             public abstract class View{
                //创建一个用于暂存数据的集合,用来传递信息保存信息
                private HashMap map=new HashMap();
                
                public void setMap(HashMap map){
                    this.map=map;
                }
                
                public HashMap getMap(){
                    return this.map;
                }
              //显示信息
              public abstract View show();
             
              //可能获取用户的信息
              //转发请求
             
             }
             
             控制器包
             控制器类:
             public abstract class Controller{
              //创建一个用于暂存数据的集合,用来传递信息保存信息
                 private HashMap map=new HashMap();
                
                 public void setMap(HashMap map){
                     this.map=map;
                 }
                
                 public HashMap getMap(){
                      return this.map;
                 }
                 //接收视图的请求,转发请求
                 //负责调度模型对象处理请求
                 //确定一下一个视图
                 public abstract View handle(View view);
               
             }
             模型包
             模型对象:都是负责某种业务的功能实现类
             定义模型接口
             定义模型类
             
             实体类:
             抽象出相关的类型,系统中所要表达的类型。
             public class Student{
             
             }
             public class User{
             
             }
        3-3、创建数据存储文件
                      

原创粉丝点击