面向过程:就是分析出解决问题需要那些过程和步骤,在用函数实现这些步骤,最后在一步一步的调用这些步骤。它是以步骤来划分问题,性能比较高,容易与硬件相配合,比如单片机。但不够灵活,不太容易维护。他写出来的像蛋炒饭
面向对象:分析出解决问题需要哪些对象,再写出这些对象的功能,最后在由对象间的合作与分工来解决问题。它是以对象功能来划分问题,具有封装性,继承性和多态性。比较灵活,容易维护,代码可复用,更适合大型开发,但性能比较低,易扩展。这个像盖浇饭
面向对象的思维特点:
1.抽取(抽取公用的属性和组织,形成公用模板,封装成类)
2.对类进行实例化,获取类的对象
对象:是一组无序的相关属性和方法的集合,比如字符串,数组,数值,函数等,万物都是对象。(具体的事务)
对象是由:
1.属性(事物的特征,比如颜色)
2.方法组成(事物的行为,比如发短信)
类抽取了公共部分,它是泛指大类
对象是特指的某一个,通过类实例化具体一个对象。
类必须使用new来实例化对象
例:
class app {
console.log(213213)
}
const temp = new App()
类constructor构造函数
constructor()是构造函数的默认方法,用于传递参数和返回实例对象,通过new时生成对象实例时自动调用该对象。如果没有它会自动生成。
示例:
class star {
constructor(username ) {
this.username = username
}
}
let ldh = new star()
console.log(ldh.username)
vue ts版本
export default class star {
private username: string;
private age:string;
constructor(username:string, age: string) {
this.username = username
this.age = age
}
sayFunction(song: string){
console.log(this.username + song)
return song
}
}
调用
import star from '@/utils/cs'
let ldh = new star('了的话', '11')
console.log(ldh.sayFunction('3123123'))