对象_原型

OOP 指什么?有哪些特性

OOP(Object-oriented programming, 面向对象设计)
特性:

1、封装
能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。

  • 是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏;
  • 所有对数据的访问和操作都必须通过特定的方法,否则无法使用,从而达到数据隐藏的目的。

2、继承
继承使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

3、多态性
允许将子类类型的指针赋值给父类类型的指针。
实现多态,有二种方式,覆盖,重载
(1)覆盖,是指子类重新定义父类的虚函数的做法。
(2)重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。

如何通过构造函数的方式创建一个拥有属性和方法的对象

 function Person(nick, age){
   this.nick = nick;
   this.age = age;
  }

Person.prototype.sayName = function(){
  console.log(this.nick);
}

var p1 = new Person('hello', '22');
p1.sayName();   // hello

prototype 是什么?有什么特性

prototype:每一个构造函数都有一个prototype属性,指向另一个对象。
这个对象的所有属性和方法,都会被构造函数的实例继承。

画出如下代码的原型图

对象_原型_第1张图片
1.jpg

对象_原型_第2张图片
1.jpg

创建一个 Car 对象,拥有属性name、color、status;拥有方法run,stop,getStatus

对象_原型_第3张图片
3.jpg

创建一个 GoTop 对象,当 new 一个 GotTop 对象则会在页面上创建一个回到顶部的元素,点击页面滚动到顶部。拥有以下属性和方法

1、 ct属性,GoTop 对应的 DOM 元素的容器
2、target属性, GoTop 对应的 DOM 元素
3、bindEvent 方法, 用于绑定事件
4、createNode 方法, 用于在容器内创建节点

使用木桶布局实现一个图片墙

对象_原型_第4张图片
4.jpg

https://github.com/nciilin/trsk/blob/master/%E9%AB%98%E7%BA%A71/Barrle.html

你可能感兴趣的:(对象_原型)