zoukankan      html  css  js  c++  java
  • 了解面向对象开发

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

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

    面向对象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原型上

     

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

  • 相关阅读:
    Flutter form 的表单 input
    FloatingActionButton 实现类似 闲鱼 App 底部导航凸起按钮
    Flutter 中的常见的按钮组件 以及自 定义按钮组件
    Drawer 侧边栏、以及侧边栏内 容布局
    AppBar 自定义顶部导航按钮 图标、颜色 以及 TabBar 定义顶部 Tab 切换 通过TabController 定义TabBar
    清空路由 路由替换 返回到根路由
    应对ubuntu linux图形界面卡住的方法
    [转] 一块赚零花钱
    [转]在树莓派上搭建LAMP服务
    ssh保持连接
  • 原文地址:https://www.cnblogs.com/tangyi1914/p/12398766.html
Copyright © 2011-2022 走看看