이 기사는 클래스 확장을 구현하기 위한 몇 가지 도구 함수를 작성하는 것으로 시작됩니다. 각 유틸리티 함수는 클래스 작성의 특정 방식(습관)을 목표로 합니다. 이 기사에서는 생성자 메서드에 따라 클래스를 작성합니다. 속성(필드)과 메서드가 모두 여기에 달려 있습니다. 다음 클래스는 각각 상위 클래스와 하위 클래스로 제공됩니다.
/
/ 父类Person function Person(nationality) { this.nationality = nationality; this.setNationality = function(n) {this.nationality=n;}; this.getNationality = function() {return this.nationality;}; } // 子类Man function Man(name) { this.name = name; this.setName = function(n){this.name=n;}; this.getName = function(){return this.name;}; }
1, 도구 기능 1 상속
/** * @param {Function} subCls 子类 * @param {Function} superCls 父类 * @param {Object} param 父类构造参数 */ function extend(subCls, superCls, param) { superCls.call(subCls.prototype, param); }
다음을 사용하세요.
extend(Man, Person, 'China'); var m = new Man('jack'); console.log(m.nationality);//China console.log(m.setNationality('Japan')); console.log(m.getNationality('Japan'));//Japan
출력에서는 Man이 Person의 속성과 모든 메서드를 상속한다는 것을 보여줍니다. 이 상속 방법은 Java와 매우 다릅니다.
class Animal { int legs; Animal(int l) { legs = l; } int getLegs() { return legs; } } public class Person extends Animal{ //属性(字段) String name; //构造方法(函数) Person(int legs, String name) { super(legs);//调用父类构造器 this.name = name; } //方法 String getName() { return this.name; } public static void main(String[] args) { Person p = new Person(2,"jack"); System.out.println(p.legs); } }
Java에서 하위 클래스 Person은 자체 구성 메서드에서 상위 클래스 구성 메서드 super(legs)를 호출하고 객체를 생성할 때 상위 클래스 구성 매개변수인 Legs:2를 직접 전달합니다. 입장할 때 이름만 입력하지 마세요:jack. 위의 JavaScript 상속은 new가 아닌 확장 시 상위 클래스 구성 매개변수(확장 함수의 세 번째 매개변수)를 전달하는 것입니다. 인력을 배치할 때 상위 클래스 구성 매개변수를 전달하세요. 좋습니다. Java를 시뮬레이션하여 확장을 구현합니다. 여기서 상위 클래스 참조는 하위 클래스에 임시로 저장됩니다.
2. 도구 함수 2번을 상속받거나
/** * @param {Function} subCls * @param {Function} superCls */ function extend(subCls, superCls) { subCls.supr = superCls; }
또는 Person을 부모 클래스로 사용하여 Woman
function Woman(nationality, name) { Woman.supr.call(this, nationality);//和java有点类似哦,在子类中调用父类构造器 this.name = name; this.setName = function(n){this.name=n;}; this.getName = function(){return this.name;}; } extend(Woman, Person);
하위 클래스를 구현합니다. 마지막으로 객체를 생성하는 방법은 Java와 유사합니다. 즉, 새로운 경우 부모 동시에 클래스가 추가됩니다. 구성 매개변수(국적:일본)가 전달됩니다.
아아아아위 내용은 JavaScript 상속 방법에 대한 자세한 설명(2)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!