【无标题】

什么是面向对象? 程序的设计思维, 抽象,封装,继承,多态
面向对象设计/编程的有点: 重用,管理,扩展
类 :属性和方法的集合, 程序的基本单元,类是事物抽象的结果,类是对象的 原型。
4.对象: 类的实例化的结果 new的结果。
js 类的声明就是一个函数
// this:代之未来的对象,访问对象的成员(属性和方法)
产生抽象类:
class Animation{
hobby=“睡觉”;
constructor(name){
this.name=name;}
say Hello(){

console.log(“!!!”,this.name);
this.sleep();
}
sleep(){
console.log(this.name,“休息了”)
}
}
var wc = new Animal(‘旺财’);
var jfm = new Animal(‘加菲猫’);
var wl = new Animal(‘dwl’);

console.log(wc);
console.log(jfm);

类的封装
封装的前提,属性私有化的设置
封装的优点: 增加数据的安全性

// class Person {
// #sex = ‘’; // 1.私有化属性: 只能在类的内部使用!
// #age = 0;
// constructor(name, age, sex) {
// this.name = name;
// this.age = age;
// this.sex = sex; // 调用属性 赋值
// this.#sayHello();
// }
// get age(){
// return this.#age;
// }

    //     set age(value){
    //         if(value<0 || value>150){
    //             this.#age = 0;
    //         }
    //         else{
    //             this.#age=value;
    //         }
    //     }

    //     // 该方法就是 对 #sex 封装的 获得
    //     get sex(){
    //         return this.#sex;
    //     }
    //     // 该方法就是 对 #sex 封装的 设置
    //     set sex(value){
    //         if(value=='女'){
    //             this.#sex='女';
    //         }else{
    //             this.#sex='男'; 
    //         }
    //     }

    //     #sayHello() { //私有化  外部不能 访问!
    //         console.log('大家好!', this.name,this.age,this.sex);
    //     }
    // }

    // var wl = new Person('文龙',1000,'魅');
    //wl.#sex= '妖'; // 无法修改 私有属性
    //console.log(wl.#sex); //无法获得 私有属性
    // wl.sex='女'

【7. 类的继承】
一般到特殊 用继承关系表示
js中只能单继承,间接实现多继承
继承父类非私有成员
继承不能修改父类成员
继承可以扩展父类成员
继承可以重写父类成员
super 起到维系子父级关系作用
继承优点: 重用 扩展 维护

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值