• js的面向对象编程


    面向对象(Object Oriented,OO)是软件开发方法。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统,交互式界面,应用结构,应用平台,分布式系统,网络管理结构,CAD技术,人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后到产物,是一种高级的编程思想。
     
        面向对象就是一种新的编程模式。
     
        面向过程?把所有的功能都写在一起,逐行实现
     
        面向对象在其它编程语言中普遍使用,Java,PHP,Python
        
        什么是对象?
        什么是收音机,对象是一个整体,对外提供一些操作。
        
        什么是面向对象开发?
        就是在使用对象时,只关注对象提供的功能,不关注其内部细节。
        比如,每次使用封装好的运动框架
     
         注意:面向对象是一种通用思想,并非只在程序中使用,任何事情都可以使用----公司老板分配任务
     
    面向对象的特点
     
        封装:不考虑内部实现,只考虑功能实现
     
        继承:从已有对象上,继承出新对象
        
        多态:多种形态,一个功能的不同的应用场景
     
    对象的组成
        方法(有归属)----函数(自由的)
     
        属性(有归属)----变量(自由的)
     
    OOA和OOD
        OOA面向对象分析:
            人类起源:单细胞----人,进化过程中,增加了各种器官,各个器官之间分工协作
            为什么统治世界的是人类?-----精密的分工协作
     
            大规模分工,精密协作
     
        面向对象分析:将大问题拆分成小问题,并试图用分工协作来完成的思维方式。
     
     
        OOD面向对象设计:
            1.分析模块后,确定职责
                大哥招小弟--端茶倒水,点烟捶背捏脚
     
            2.确定耦合关系
                确定通信关系,如何交流,暗号
                弊端:当耦合达到一定程度时,如果换了一个助理,需要重新耦合,资源消耗太大
     
                高内聚低耦合
     
            3.为OOP做准备
     
    对象如何被发明的?
            大量信息的处理和加工困难,打包之后,将内容包含在其中。信息传递速度更快,效率更高
            
        面向对象和面向过程的区别
            面向对象--先实现功能,再运行。分工协作,同时发生,解决问题。
            面向过程--一边实现,一边运行。效率低下。
        
        面向对象并不是程序员发明的。在程序中我们叫面向对象(OO),在生活中叫分工协作。
     
    当我们需要一套可以反复经过使用的,经过分类,代码设计经验的总结时,就用到了设计模式。
     设计模式:
            工厂模式:原料、加工、出厂
        function createPeople(name,age,like){
                var obj = new Object();          //原料
                obj.name = name;               //加工
                obj.age = age;
                obj.like = like;
                obj.show = function(){
                    alert("我叫"+this.name+",今年"+this.age+"岁,喜欢"+this.like)
                };
                return obj;                     //出厂
            }
            var obj = createPeople("AAA",23,"LOL");
            var obj2 = createPeople("BBB",30,"JAVA");
     
            obj.show();
            obj2.show();
        但是这种工厂模式已经被JS抛弃,
     
    因为JS内置了一种的工厂模式
        function CreatPeople(name,age,like){
                this.name = name;
                this.age = age;
                this.like = like;
                this.show = function(){
                    alert("我叫"+this.name+",今年"+this.age+"岁,喜欢"+this.like);
                }
            }
            var obj = new CreatPeople("ABC",20,"PHP");
            var obj2 = new CreatPeople("QWE",32,"Python");
            obj.show();
            obj2.show();
        JS内置的工厂模式比传统的工厂模式更高效,复用性更强。
     
        JS内置的工厂模式叫构造函数。
     
    使用Json创建对象
        var obj = {
            name:"admin",
            age:23,
            like:"LOL",
            show:function(){
                alert("我叫"+this.name+",今年"+this.age+"岁,喜欢"+this.like)
            }
        }
        obj.show()
     
      function CreatPeople(name,age,like){
                this.name = name;
                this.age = age;
                this.like = like;
                this.show = function(){
                    alert("我叫"+this.name+",今年"+this.age+"岁,喜欢"+this.like);
                }
            }
            var obj = new CreatPeople("ABC",20,"PHP");
            var obj2 = new CreatPeople("QWE",32,"Python");
            obj.show();
     
            obj2.show();
  • 相关阅读:
    Delphi中 StrToIntDef函数的用法:
    Delphi判断文件夹(目录)是否存在,不存在就创建一个,可以一次创建多级目录
    Delphi中Format的字符串格式化使用说明
    linux下可变参数打印
    c++11 thread
    QMessageBox 使用
    Ubuntu虚拟机配置nfs
    test
    Qt 布局时组建不贴边
    QPainter 居中写字
  • 原文地址:https://www.cnblogs.com/gzy1/p/11880456.html
Copyright © 2020-2023  润新知