Javascript面向对象


正在学习,请勿打扰

1.面向对象-定义class
class Employee {
	constructor(name,position) { //带参的构造函数
		this.name = name;
		this.position = position;
	}
}

var emp = new Employee("小明","前端工程师"); //申明一个Employee类的实例对象
console.log(emp);
2.面向对象-成员方法
class Employee {
	constructor(name,position) { //带参的构造函数
		this.name = name;
		this.position = position;
	}
	signIn() { //定义成员方法:打卡上班
		console.log(this.name + "打卡上班");
	}
	get info() { //使用get关键字定义获取属性方法
		return this.name + " " + this.position;
	}
	set info(info) { //使用set关键字定义修改属性方法
		let [name,position] = info.split(" ");
		this.name = name;
		this.position = position;
	}
}

var emp = new Employee("小明","前端工程师"); //申明一个Employee类的实例对象
console.log(emp);
emp.signIn(); //调用成员方法
console.log(emp.info); //调用get类型的info方法
emp.info = "李四 后端工程师"; //调用set类型的info方法
console.log(emp.info); //调用get类型的info方法
console.log(emp.name , emp.position);
3.面向对象-实现继承

实现继承用到关键字extends,例如a extends b,a就叫做子类,b就是父类一个子类只能继承一个父类
在上面代码的基础上:

class Manager extends Employee {
	constructor(name,position,dept) { //字类自己的构造方法
		super(name,position); //super关键字表示调用父类中的构造方法来进行初始化
		this.dept = dept; //剩余的dept在字类构造方法中单独初始化
	}
	signIn() {
		super.signIn(); //调用父类中的signIn方法打卡上班
		console.log("额外信息:经理打卡");
	}
}
var manager = new Manager("王五","经理","技术部");
console.log(manager);
manager.signIn();

// manager.dept = "技术部"; //增加一个属性,但是写法不规范
// console.log(manager);
4.面向对象-成员变量
class Employee {
	dept = ""; //定义成员变量为空,因为每个成员变量的值不同,所以只能设为空
	constructor (name) {
		this.name = "员工姓名:" + name; //变量放在构造函数里面更方便初始化
	}
}
var emp = new Employee("小明");
console.log(emp);
emp.dept = "技术部"; //自定义设置成员变量
console.log(emp);
5.面向对象-静态成员(方法)

访问静态(static)成员变量只能用类名.变量名来访问。可以解决一些变量命名重复的问题。

class Page {
	static count = 0; //定义静态成员变量
	static increaseViewCount() { //定义静态成员方法
		Page.count ++;
	}
}
Page.count ++; //获取静态成员变量并+1
console.log(Page.count); //输出1
Page.increaseViewCount(); //调用静态成员方法
console.log(Page.count); //输出2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偶尔躲躲乌云_0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值