面向对象编程

面向对象编程

原型对象

Javascript、Java、c#...面向对象,JavaScript有些区别

  • 类:模板 原型对象

  • 对象:具体的实例

在JavaScript这个需要大家换一下思维方式! 原型

复制代码
let Student = {
        name:"zhangsan",
        age:22,
        run:function(){
            console.log(this.name+" run.... ");
        }
    };
    let xiaoming = {
        name:"xiaoming"
    };
    xiaoming.__proto__ = Student;

    let Bird = {
        fly:function (){
            console.log(this.name+" fly.... ");
        }
    }

    //小明的原型 是 Student
    xiaoming.__proto__ = Bird;
复制代码

以前的方式

function Student(name){
        this.name = name;
    }
    //给Student新增一个方法
    Student.prototype.hello = function(){
        alert('hello');
    }

class继承

Class关键字,是在ES6引入的 1、定义一个类,属性,方法

复制代码
//定义一个学生的类
    class Student{
        constructor(name) {
            this.name = name;
        }
        hello(){
            alert('hello');
        }
    }
let xiaoming = new Student("xiaoming");
let xiaohong = new Student("xiaohong");
xiaoming.hello();
复制代码

2、继承

复制代码
 class Student{
        constructor(name) {
            this.name = name;
        }
        hello(){
            alert('hello');
        }
    }
    class pupil extends Student{
        constructor(name,grade){
            super(name);
            this.grade = grade;
        }
        myGrade(){
            alert('我是一名小学生');
        }
    }
    let xiaoming = new Student("xiaoming");
    let xiaohong = new pupil("xiaohong",1);
    xiaoming.hello();
复制代码

本质:查看对象原型

原型链

proto

 

posted @   少时凌云志  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示