class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet(): void {
console.log(`Hello, I'm ${this.name}`);
}
}
let person = new Person('John', 25);
person.greet();
class Person {
public name: string;
constructor(name: string) {
this.name = name;
}
}
class Person {
private age: number;
constructor(age: number) {
this.age = age;
}
getAge(): number {
return this.age;
}
}
let person = new Person(25);
person.getAge();
class Person {
protected name: string;
constructor(name: string) {
this.name = name;
}
}
class Employee extends Person {
private department: string;
constructor(name: string, department: string) {
super(name);
this.department = department;
}
getInfo(): string {
return `${this.name} - ${this.department}`;
}
}
class Person {
readonly name: string;
constructor(name: string) {
this.name = name;
}
}
let person = new Person('John');
class Person {
constructor(
public name: string,
private age: number,
protected email: string
) {}
}
class Person {
public name: string;
private age: number;
protected email: string;
constructor(name: string, age: number, email: string) {
this.name = name;
this.age = age;
this.email = email;
}
}
class Person {
private _age: number = 0;
get age(): number {
return this._age;
}
set age(value: number) {
if (value < 0) {
throw new Error('年龄不能为负数');
}
this._age = value;
}
}
let person = new Person();
person.age = 25;
console.log(person.age);
class Grid {
static origin = { x: 0, y: 0 };
static calculateDistance(point: { x: number; y: number }): number {
let xDist = point.x - Grid.origin.x;
let yDist = point.y - Grid.origin.y;
return Math.sqrt(xDist * xDist + yDist * yDist);
}
}
console.log(Grid.origin);
console.log(Grid.calculateDistance({ x: 10, y: 10 }));
abstract class Animal {
abstract makeSound(): void;
move(): void {
console.log('移动中...');
}
}
class Dog extends Animal {
makeSound(): void {
console.log('汪汪汪');
}
}
let dog = new Dog();
dog.makeSound();
dog.move();
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
move(distance: number = 0): void {
console.log(`${this.name} 移动了 ${distance}米`);
}
}
class Dog extends Animal {
bark(): void {
console.log('汪汪汪');
}
}
let dog = new Dog('旺财');
dog.bark();
dog.move(10);
interface Printable {
print(): void;
}
class Document implements Printable {
print(): void {
console.log('打印文档');
}
}
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet(): string {
return `Hello, ${this.greeting}`;
}
}
let greeterMaker: typeof Greeter = Greeter;
let greeter: Greeter = new greeterMaker('world');