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属性,指向另一个对象。
这个对象的所有属性和方法,都会被构造函数的实例继承。
画出如下代码的原型图
创建一个 Car 对象,拥有属性name、color、status;拥有方法run,stop,getStatus
创建一个 GoTop 对象,当 new 一个 GotTop 对象则会在页面上创建一个回到顶部的元素,点击页面滚动到顶部。拥有以下属性和方法
1、 ct
属性,GoTop 对应的 DOM 元素的容器
2、target
属性, GoTop 对应的 DOM 元素
3、bindEvent
方法, 用于绑定事件
4、createNode
方法, 用于在容器内创建节点
使用木桶布局实现一个图片墙
https://github.com/nciilin/trsk/blob/master/%E9%AB%98%E7%BA%A71/Barrle.html