JavaScript的面向对象编程的工厂模式

面向对象:

1、面向对象是一种软件开发方法,它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的灵活性、重用性和扩展性。
2、面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,是一种高级的编程思想。
3、面向对象的特征:封装、继承、多态、抽象

工厂模式:

1、工厂模式是软件工程领域一种常见的设计模式,这种模式抽象了创建对象的具体过程。
原料 => 加工 => 出厂
用函数来封装创建对象的具体过程:
     function createCat(name,age){
            var obj = {};
            obj.name = name;
            obj.age =  age;
            obj.sayHi = function(){
                alert('大家好,我是' + obj.name);
            }
            return obj;
        }
        var cat1 = new createCat('短尾猫',1);
        var cat2 = new createCat('折耳猫',2);
        // cat1.sayHi();
        // cat2.sayHi();
        console.log(cat1.sayHi === cat2.sayHi);   //false
        console.log(cat1);   //cat1这个对象
        console.log(cat1.constructor); //ƒ Object() { [native code] }
        console.log(cat1.name);  //短尾猫
        console.log(cat2.name);   //折耳猫
    对象的 constructor 属性,返回对象的构造器(类)
    instanceof 运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置
    语法 object instanceof constructor

工厂模式的缺陷:
    工厂模式创建多个对象时,不同对象的相同方法仍然存在多个,既不环保,又不高效;
    工厂模式创建对象时,没办法解决对象类型识别的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值