• 了解面向对象开发


    首先我们理解一下面向对象和面向过程

    面向过程:面向过程的思想是把一个项目或者一件事情按照顺序一步一步完成,更加关注过程分步执行。

    面向对象Object Oriented Programming:面向对象的思想把一个项目或者一件事情,分成更小的项目或者更小的部分,每一个部分负责什么功能,然后在把这些部分组成一个整体。

    面向对象的特点:

     1.抽象:关注核心,关注重点。

     2.封装:和函数特点吻合(常用的重复的代码进行封装,避免代码冗余)

     3.继承:子类可以继承父类,不能影响父类。

     4.多态:js使用比较少,对象具有多种不同的形态

    面向对象的适用场景--优点

      面向对象适合复杂的场景。避免全局污染(全局变量全局函数),更方便的扩展程序。更清楚,更熟悉系统提供的一些默认类和对象的实现-系统提供的类(构造函数)全部采用面向对象实现。

    1.什么是类?

    (构造函数):一类事物,抽象,不占据内存。例如:人类     

    程序中的类(构造函数)Function/Array/Object/Math/Date/RegExp...

    2.什么是对象?

    对象:一切皆对象,对象是属性的无序集合,类下面具体的事物,占据内存的。 例如:某一个具体的人张三

       实例化对象:new (构造函数)--产生实例对象

    3.属性和方法

       对象:属性的无序集合,通过属性值将对象分成属性和方法。--对象 = 属性 + 方法

       属性:描述对象的外观,属性一般情况下都不会相同。例如:张三的身高体重年龄

       方法:描述对象具有的功能,方法一般情况下都是相同的。例如:张三能说话,能行走

    4.属性和方法与变量和函数的区别

       当一个变量不自由了,理解成属性。

       当一个函数不自由了,理解成方法。

     5.函数属于对象,同时也是对象的构造器(对象是由函数构建出来的)

     

    推导面向对象

    一.目标

    1.以系统的类(构造函数)为基准,通过类似的方式解决项目中的问题或者案例。

    2.为了实现上面的目标,我们不论案例功能是否复杂都要尽量采用面向对象的写法。更好的和后端进行交互。

    3.学会利用面向对象技术解决一切问题。

    二.对象的创建方式(通过构造函数、字面量创建)

     

    问题1:通过这样创建多个对象会出现大量重复代码

    解决方案:此时我们可以用工厂模式也就是封装解决

     

    问题2:工厂模式有弊端,帮我们解决创建多个对象代码冗余的问题,无法解决对象识别问题,所有的对象依然由object创建的。不像Array,Date......

    解决方案:参考系统类(构造函数),调用的时候前面添加new.

    结论:一旦通过new调用函数,当前的函数就不是普通函数,变成了构造函数了(符合构造函数的特点)

    构造函数的两个特点:首字母大写,new调用。

     

    问题3构造函数可以解决对象的识别问题,但是构造函数里面的属性和方法是私有的,特别是方法,每次使用都要重新创建,不同于我们的系统对象。

    解决方案:将方法绑定在prototype原型上

     

    总结:面向对象写法--混合方式进行开发(构造函数+原型)

  • 相关阅读:
    微软程序员最好的时代来了
    领域驱动设计系列 (六):CQRS
    当我谈 "加班有罪" 我在谈什么?
    parquet 简介(转)
    Spark动态资源分配-Dynamic Resource Allocation
    Spark配置参数详解
    PhpStorm使用sftp实现代码自动上传服务器
    docker 命令大全
    mysql 5.6配置
    docker volume
  • 原文地址:https://www.cnblogs.com/tangyi1914/p/12398766.html
Copyright © 2020-2023  润新知