ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ts面向对象OOP

2021-10-27 17:01:54  阅读:205  来源: 互联网

标签:console name 对象 age ts 面向对象 OOP 属性 log


面向对象

面向对象是程序中一个非常重要的思想,简而言之就是程序中所有的操作都需要通过对象来完成,对象中有属性和方法

举例:

  操作浏览器要使用window对象

  操作网页要使用document对象

  操作控制台要使用console对象

要想面向对象,操作对象,首先要拥有对象

要创建对象,必须要先定义类,所谓的类可以理解为对象的模型

程序中可以根据类创建指定类型的对象

举例来说:

可以通过Person类来创建人的对象,通过Dog类创建狗的对象,不同的类可以用来创建不同的对象

 

定义类

/*
  使用class关键字定义类

  属性有2种:
    1、实例属性
      定义:直接定义
      使用:通过new关键字创建一个实例对象,对象去调用该属性
    2、静态属性,也叫类属性
      定义:在定义该属性前加上static关键字
      使用:直接通过类名访问该属性

  方法和属性一样,加上static就是静态方法
*/
class Person {
  readonly name: string = '小明' // 只读属性
  age: number = 19
  static age: number = 18
  sayHello() {
    console.log('hello')
  }
}

const p = new Person()
console.log(p) // Person {name: '小明', age: 19}
// p.name = 'xx' // 只读属性不可赋值
p.age = 88
console.log(p.name) // 小明
console.log(p.age) // 88
p.sayHello() // hello

console.log(Person.age) // 18

构造函数和this

  在new一个对象时会调用constructor函数

class Dog {
  // 1、在类中定义属性
  name: string
  age: number
  bark() {
    // 方法中的this指向调用该方法的对象
    console.log('汪汪汪', this)
  }
  // 2、在构造函数中进行赋值
  constructor(name: string, age: number) {
    // new Dog()时执行构造函数,这里的this指向实例对象
    this.name = name
    this.age = age
  }
}
const dog = new Dog('旺财', 3)
const dog1 = new Dog('阿黄', 4)
console.log(dog) // {name: '旺财', age: 3}
console.log(dog1) // {name: '阿黄', age: 4}
dog.bark() // 汪汪汪 {name: '旺财', age: 3}
dog1.bark() // 汪汪汪 {name: '阿黄', age: 4}

 

标签:console,name,对象,age,ts,面向对象,OOP,属性,log
来源: https://www.cnblogs.com/wuqilang/p/15471569.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有