12-工厂模式

2016-07-28  本文已影响11人  Young_Blood
<!DOCTYPE html>
<html lang="en">
 <head> 
  <meta charset="UTF-8" /> 
  <title>工厂模式</title> 
 </head> 
 <body> 
  <script type="text/javascript">


//        var jsPerson1 = {
//            name:"ldh",
//            age:48,
//            writeJS:function () {
//                console.log("my name is" + this.name + "i can write JS 啦");
//            }
//        }
//        jsPerson1.writeJS();
//
//        var jsPerson2 = {
//            name:"yhz",
//            age:48,
//            writeJS:function () {
//                console.log("my name is" + this.name + "i can write JS 啦");
//            }
//        }
//        jsPerson2.writeJS();

        // 单例模式虽然结局了分组的作用,但是不能实现批量的生产,属于手工作业模式->我们引入工厂模式


        // 工厂模式
        // 把实现同一件事情的相同代码放到同一个函数中,以后如果再想实现这个功能,不需要重新编写这些代码了,只需要执行当前的函数就行了 -- > 函数的封装 --> 低耦合 高内聚 :减少页面中的冗余代码 提高代码的复用率
        function creatJSPerson( name , age) {
            var obj = {};
                obj.name = name;
                obj.age = age;
                obj.writeJS = function () {
                    console.log("my name is" + this.name + "i can write JS 啦");
                }
            return object;
        }

        var p1 = creatJSPerson("王小波",48);
        var p2 = creatJSPerson("ldh",49);


        // JS是一门轻量级的脚本"编程语言" (HTML + CSS 不属于编程语言,属于标记语言)
        // 类的继承.封装.多态
        // 继承:子类继承父类中的属性和方法
        // 多态:当前方法的多种形态 -> 后台语言当中 :多态包含 重载 和 重写
        // JS中的多态 : 子类对父类方法的方法
//        public void sum(int num1,int num2){
//
//        }
//        public void sum(String num1,String num2){
//
//        }
//        sum(1);

        // JS中不存在重载,方法名一样的话,后面的会把前面的覆盖掉,最后只保留一个

        // JS中有一个操作类似重载但是不是重载:我们可以根据传递参数的不一样,实现不一样的功能
        function sum(num) {
            if (typeof num == "undefined") {
                return 0;
            }
            return num;
        }
        sum();
        // JS中存在重写  重写 :子类重写父类的方法

    </script>  
 </body>
</html>

上一篇下一篇

猜你喜欢

热点阅读