面向对象 、面向过程

面向对象

什么是 面向对象

                面向对象是一种编程思想,这种编程思想重点关注的是解决问题时参与的对象以及对象的行为,通过对象的行为互相写作完成最终问题的解决!

        - 优点:扩展性好;缺点:稳定性较差

        - 乐高积木:只需要关注每种类型的积木的外形、可以和那些积木拼接的行为

原生js中的面向对象:类和对象

// 1、原生JS
function Teacher (name) {
    this.name = name
    this.teach = function() {
        console.log(`${this.name}正在教学中...`)
    }
}

let tom = new Teacher("汤姆")
tom.teach()

 ES6中的面向对象:类和对象

// 2、ES6语法升级,提供面向对象的语法
// 使用class声明一个类型:固定语法
class Student {

    // 构造函数初始化成员属性: 固定语法
    // 创建对象的时候会自动调用
    constructor(name) {
        this.name = name
    }

    // 声明普通函数:类型中称为方法
    teach() {
        console.log(`${this.name}正在教学中...`)
    }
}

// 创建对象
let jerry = new Student("杰瑞")
jerry.teach()

 ES6类型和对象操作基本语法

// 3.基本语法
        // ① 无参数 创建对象的类型
        class Person {
            name = "tom"
            age = 20
        }

        // 创建对象
        // var tom = new Person()
        // console.log(tom)

        var jerry = new Person
        console.log(jerry, "不带括号")

        // ② 带参数的创建对象的类型
        class Pet {

            // 构造函数:初始化对象属性数据|成员属性
            constructor(nickname, brand) {
                this.nickname = nickname
                this.brand = brand
            }

            // ③ 类型中包含方法:普通函数,函数出现在类内部称为方法
            play() {
                console.log(`${this.nickname} playing....`)
            }
        }

        // 创建对象:创建对象时会自动调用类型中的constructor()构造函数完成属性赋值
        var dog = new Pet("小白", "哈士奇")
        console.log(dog)

面向过程                

                - 是一种解决问题的思路,重点关注解决问题的步骤和过程

                        - 优点:稳定性高;缺点:扩展性较差

                        - 华容道游戏:考虑最多的步骤、过程

你可能感兴趣的:(笔记,html5,css,自动驾驶)