- 面向对象的三大特性
- 封装
- 多态
- 继承
封装
- 作用:方便代码的维护,提高代码的复用性,更安全的数据访问的方式
- 注意 : js中的封装多了一层意思,就是使用对象来封装变量和函数
<script>
var type = "喜剧";
var actors = ["赵丽颖","彭于晏","李荣浩","邓超"];
var showTime = "2017-2-17 2017-3-17";
var director = "韩寒";
var play = function(){
console.log("播放.....");
}
</script>
// 下面使用对象来封装变量和函数
<script>
var film = {
type : "喜剧",
actors : ["赵丽颖","彭于晏","李荣浩","邓超"],
showTime : "2017-2-17 2017-3-17",
director : "韩寒",
play : function(){
console.log("播放.....");
}
};
console.log(film);
</script>
继承
- 现实生活中的继承:继承遗产,一个人获得另一个人所拥有的财富或者是资源的方式。
- 编程语言中的继承:一个类(对象)获得另外一个类(对象)的属性和方法的一种方式。
- 面向对象的语言特征:类(C++)C(没有类)
- js中没有类(class),支持面向对象的语言。
<script>
var obj1 = {name:'wyq', age:18};
var obj2 = {};
console.log(obj1);
console.log(obj2);
//obj2获得obj1的属性或者是方法
//混入式继承
for(var k in obj1){
console.log(k + ':'+ obj1[k]);
obj2[k] = obj1[k];
}
console.log(obj2);
</script>
多态
- 多种形态
- 表现:
- 对于相同的操作,不同的对象表现出不同的行为。
- 隐藏不同。
- 表现:
- 实现:
- js天生具备多态的特性(弱类型的语言)