1.复习回顾面向对象
// //构造函数
// function Point(){
// this.name = "张三";
// this.age = "18"
// }
// Point.prototype.eat = function(){
// console.log("大家都吃了吗?");
// }
// var p = new Point();
// console.log(p.name)
2.类的概念
类的概念 作为创建对象的模板,通过class关键字,来定义类
汽车类 : 奔驰, 宝马,荣威
人 类 : 欧洲人, 亚洲人, 非洲人, 少数人种
整个class类里面的内容相当于上面构造函数里的内容和原型的集合体
构造函数中的内容放在constructor里面 如果不写会自动生成一个kongde
constructor里面的this指向实例化对象p
class Point{
constructor(){ //constructor 默认放在构造函数中
this.name = "张三";
this.age = "18";
}
eat(){ //原型(大多数方法都放原型里) 直接写
console.log('吃了么您')
}
}
// 实例对象p 如果在实例化一个对象t那就指向t(this谁调用指向谁)
let p = new Point(); // 类 结合new 构造器 实例化了一个对象p
// 对象里的内容包含了 构造函数 以及原型中的方法
console.log(p.name);
p.eat();
3.下面讲传参问题
class Point{
constructor(name){ //形参 接收实参的数据 这里的实参只能在
// constructor里面用 ,如果原型里面想用
// 通过this.name = name;来保存(到this)
this.name = name; //重要
this.age = "18";
}
eat(){ //如果这里想 用
console.log(`吃了么您${this.name}`)
}
let p = new Point("伤心太平洋"); //实参哪里调用那里传
console.log(p.name);
p.eat();
4.set get关键字可以设置一个自定义名称的关键字 用来存值和取值
class Point{
constructor(name,val){ //形参
this.name = name;
this.age = "18";
this.setData(val) //在函数内部也可以调用
}
eat(){ //
console.log(`吃了么您${this.name}`)
}
// set prop(vale){
// console.log(`我的值是${vale}`)
// }
// get prop1(){
// return "非常时期"
// }
// 方法二推荐 自定义名称 向对应的更加灵活
setData(value){ //这种事在类的外部调用 ,在类的内部也可调用
this.val = value;
// console.log(this.val)
}
getData(){
return this.val
}
}
let p = new Point("伤心太平洋","大西洋"); //实参哪里调用那里传
console.log(p.name);
p.eat();
// p.prop = 1234;
// console.log(p.prop1)
// p.setData("我是第二种方法");
console.log(p.getData());
需要观看视频的留言哦