面向对象编程
1. 认识类与对象:
1)类:
类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体(类的首字母必须大写);
2)对象:
对象是类的实例,是类描述的具体事物。(类是对象的抽象化,对象是类的实体化);
类(对象的抽象化) | 对象(类的实体化) |
---|---|
电脑 | 苹果电脑、联想电脑、戴尔电脑 |
人 | 张三、李四、王五 |
3)属性:
静态特性,例如姓名,年龄,身高等;
4)行为:
动态行为,例如跑步,走路,唱歌等。
2. 创建类:
- 创建一个类:
// 创建一个小狗的类:
// 我们使用 class 这个关键字来定义一个类
class 类型{
constructor() {
}
}
// Dog 类
class Dog {
name: string;
age: number;
sex: string;
constructor(n: string, a: number, s: string){
this.name = n;
this.age = a;
this.sex = s;
}
run(){
console.log(this.name + '在吃饭'); } }
- 创建 Dog 类的对象:
var dog1 = new Dog('小白', 2, '男');
// 直接返问小白的属性:
console.log(dog1.name); // '小白'
console.log(dog1.age); // '2'
console.log(dog1.sex); // '男'
// 调用对象的方法:
dog1.run(); // '小白在吃饭'
3. 可访问修饰符:
很多情况下,我们不希望一些属性在类外被访问到,我们可以借助属性访问修饰符:public,private,protected。
修饰符 | 功能 |
---|---|
public | 公有修饰符,可以在类外使用修饰符的属性或和 |
private | 私有修饰符,只可以在当前类使用修饰的属性和行为 |
protected | 受保护的修饰符,可以在类(子类)内使用修饰的属性和行为 |
- 注意:如果不使用修饰符,默认 public 修饰。
4. 只读属性修饰符:
使用 readonly 修饰符,将属性设置为只读的。即只读的属性不可被修改,只读属性必须在声明时或构造函数里被初始化。
class Person {
public readonly name: string = '张三';
constructor(){}
}
var p1 = new Person();
p1.name = '李四'; // 报错