JS进阶之——面向对象编程

面向对象的概念

对象的基本概念

ECMAScript有两种开发模式:
①函数式
②面向对象

面向对象的基本概念:

  • 类:类是对象的模板
  • 实例:实例是根据类创建的对象

对象的组成和特点:
对象组成:

  • 属性:名词,静态的,描述对象特征的。
  • 方法:动词,动态的,描述对象行为的。

对象的特点:

  • 封装
  • 继承
  • 多态

面向对象的创建有很多种方式:

  1. 实例创建
var obj=new Object();
obj.name='张三';
obj.age='18';
obj.sex='男';
obj.show=function(){
console.log(name+'学习中...')
}
console.log(obj);
  1. 字面量创建
var obj={
name:'张三',
age:18,
sex:'男'
obj.show=function(){
console.log(name+"睡觉中...")
}
}
console.log(obj);
  1. 工厂模式创建
function creatObject(name,age,sex){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.sex=sex;
obj.show=function(){
console.log(name+'吃饭中...')
}
return obj;
}
var s=creatObject('张三',18,'男')
console.log(s);
  1. 构造函数创建
function Student(name,age){
this.name=name;
this.age=age;
this.shower=function(){
console.log(name+'洗澡中...');
}
}
var s=new Student('张三',18); // 必须使用new关键字调用
console.log(s);
  1. 原型创建对象
function Student(){};
Student.prototype.name='张三';
Student.prototype.age='18';
Studetn.prototype.show=function(){
console.log(哈哈哈)
}
var s=new Student();
console.log(s.name);
  1. 混合模式创建
//混合模式 构造函数+原型
//构造函数写属性
function Student(name){
this.name=name;
this.age=age;
}
//原型上写方法
Student.prototype.show=function(){
console.log(逛街中....)
}
var s=new Student('张三',18);
console.log(s);

注意:每个面向对象的创建都会有独有的优点和缺点,混合模式是一种相对理想的模式,但是具体实施还是要看在什么情况下使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值