이 장에서는 Java에서 클래스가 무엇인지 설명합니다. 관련 수업 소개를 통해 누구나 수업에 대한 지식을 알 수 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
class Point{ constructor(){ } toString(){ } } console.log(Object.keys(Point.prototype)) console.log(Object.getOwnPropertyNames(Point.prototype))
위는 클래스입니다
1. 클래스의 데이터 유형은 함수이고 클래스 자체는 생성자를 가리킵니다
console.log(typeof Point) // "function" console.log(Point ===Point.prototype.constructor) // true
2. 생성자의 프로토타입 속성은 ES6 "클래스"에 계속 존재합니다. . 실제로 클래스의 모든 메서드는 클래스의 프로토타입 속성에 정의됩니다.
로 시작하는 코드는
class Point{} Point.prototype = { constructor() {}, toString() {}, }
와 동일합니다. 클래스의 메소드(생성자 제외)는 모두 프로토타입 객체에 정의되어 있으므로 프로토타입 객체에 클래스의 새로운 메소드를 추가할 수 있습니다. Object.sign 메서드는 한 번에 여러 메서드를 클래스에 추가할 수 있습니다
매우 중요한 점클래스 내부에 정의된 모든 메서드는 열거 불가능합니다.
console.log(Object.keys(Point.prototype)) // [] console.log(Object.getOwnPropertyNames(Point.prototype)) // ["constructor", "toString"]
그 중 Object.keys()는 Symbol을 제외하고 객체 자체의 열거 가능한 모든 속성을 포함하는 배열을 반환하고, Object.getOwnPropertyNames()는 Symbol
3 생성자 메서드를 제외한 모든 자체 속성을 포함하는 배열을 반환합니다.
생성자 메서드는 클래스의 기본 메서드입니다. 이 메서드는 새 명령을 통해 객체 인스턴스를 생성할 때 자동으로 호출됩니다. 클래스에는 생성자 메서드가 있어야 합니다. 정의되지 않은 경우 기본적으로 빈 생성자 메서드가 추가됩니다. 생성자 메서드는 기본적으로 인스턴스 객체를 반환하는데, 이것이 바로 포인트입니다. 하지만 다른 객체를 반환하도록 지정할 수도 있습니다 4. 상속class ColorPoint extends Point { constructor(x, y, color) { super(x, y) // 调用父类的 constructor(x, y) this.color = color } toString() { return this.color + '' + super.toString() // 调用父类的 toString() } }
class XXXXX extends Component{}
위 내용은 Java에서 클래스란 무엇입니까? 수업 관련 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!