zoukankan      html  css  js  c++  java
  • 面向对象

    JS面向对象


    1.JS面向对象的含义:通过函数封装得到的有一个类(函数);

    2.每个类(函数)天生有一个prototype的属性,这个prototype又是一个对象,这个对象里有个constructor(构造函数)的属性,属性值是类本身。

    3.我们所有new 一个类的时候,其实是调用它的构造函数。构造函数里的属性都是私有的,构造函数里的this都是实例对象。

    4.每个对象天生有一个__proto__,指向类的原型。

    5.Prototype和__proto__

    prototype是类的或者函数的,__proto__是对象的

    Prototype是存储机制,程序员来实现。__proto__是查找机制(浏览器的)

    6.原型链

    首先定义一个对象,其次看这个对象的属性是否是私有的,是就直接使用,不是的就通过__proto__往他的类的prototype上查找,有就直接使用,没有就继续向上查找,直到查找到基类Object,没有就是undefined,有就直接使用。这种查找机制 叫原型链。

    7.面向对象有三大特点 :封装 继承 多态

    封装:把所有相关的属性和方法封装在一个对象里。
    继承:自己没有的属性或者方法,把别人的拿来用。
    多态:不同的对象根据事件情况,执行代码不同。

    8.JS继承

      1.原型继承:将父类的实例赋值给子类的原型私有的公有的都继承为公有的

    2.call继承 call方法是 函数、类天生自带的一个方法,将父类私有的继承为子类私有的

     

    3.冒充对象继承将父类私有的和公有的继承为子类私有的 使用for in

     

    类:私有的

      公有的

      Fn.call(obj跟fn的参数匹配) 拿obj取代fn中的this然后调用fn

    4.混合继承 私有的继承为私有的, 公有的即成为公有的 Call继承和原型继承的结合

     

    5.    组合继承 私有继承为私有 公有继承为公有

      私有继承为私有借助  call

      公有继承为公有  不是原型赋值给原型

      因为原型是对象是复合数据类型,复合数据类型是地址赋给了前者,导致二者指向同一个原型,得克隆)

      Var  obj2=object.create(obj1);

     

    6.中间类继承

     

      数组中的最小值

     

    php面向对象

    1.class面向对象的定义:是一种程序设计模式,简称oop

    2.<1类 通过关键字 class 定义类  类名首字母要大写

       <2对象 是类的实例 通过new 关键字 得到一个实例对象 new classname

       <3通过访问修饰符 给类添加成员

      Public 添加的成员是公有的,在类内 类外 子类 都可以去访问他

      Protected 受保护的。 只能在类的里面和子类访问 类的外面不能访问

      Private 私有的 只能在类的里面访问。

      如果成员前面没有加修饰符 默认是public

     <4实例对象使用 -> 访问类里面的成员

        

      对象->属性的时候 属性前面不加$符。

      构造函数 constructor

      New 实例对象的本质 其实就是调用对应类的构造函数。

      $this 是类的实例对象

          

      析够函数

      我们new 实例的时候其实是调用构造函数,函数调用的时候会开辟内存空间,调用完之后会自动销毁。销毁前会自动调用 __destruct 这个析构方法

           

      继承extends

      子类继承父类  使用extends 关键字 子类继承父类中属性和方法。

      子类继承父类的属性和方法是有限继承。

      Public public修饰的属性和方法 子类都可以继承

      Protected   protected修饰的属性和方法 子类都可以继承

      Pravite   pravite 修饰的属性子类可以继承 private修饰的方法子类不可以继承

    3.面向对象的三大特征

      1.封装

      将数据和操作数据的方法捆绑在一起,对外隐藏,只提供操作的接口

      2.继承

      子类继承父类中的属性和方法

      3.多态

      PHP是弱类型语言没有多态这个概念,有重载

      子类和父类的方法名相同,子类会覆盖父类的方法叫做重载

      多态是强类型语言才有的

  • 相关阅读:
    Solr部署准备
    linux 安装SVN
    构建高性能web站点--读书大纲
    webapi请求
    搭建git服务器
    git常用知识整理
    Ruby on Rail 开发入门
    Ruby on rail 开发准备
    PHP模拟请求雅虎竞标商品加价
    JAVA httpURLConnection curl
  • 原文地址:https://www.cnblogs.com/yee-123/p/11358827.html
Copyright © 2011-2022 走看看