내 응용 프로그램에서 Javascript의 고급 사용에 중점을두고 있습니다. 그 때문에 나는 j에서 oop을 사용하는 가장 좋은 방법이 무엇인지 많이 연구했습니다. Douglas Crockford way (http://www.crockford.com/javascript/inheritance.html)를 보았습니다. 나는 John Resig way (http://ejohn.org/blog/simple-javascript-inheritance/)를 보았다. 나는 탁월한 책인 "객체 지향 자바 스크립트의 원리"를 Nicholas Zakas가 읽었으며 JS 패턴에 대한 일부 사이트를 읽었으며 솔직히 내가 본 것을 좋아하지 않았습니다. 일부 방법은 너무 장황 해 보였고, 일부는 혼란스럽고, 일부는 너무 이상하게 보였습니다.하지만 모두가 js에서 타당한 방식으로 진행되는 것처럼 보입니다. 몇 가지 다른 OO 언어에서 경험이 있고 수년 동안 oop를 사용합니다. 저는 C++, Java, PHP, Delphi에서 왔습니다. 하지만 Js oop/inheritance 모델은 나에게 정말 지저분 해 보인다. 어쩌면 그것은 단지 그것의 나의 미경험 일뿐입니다. 어쨌든 시작하기에 충분하다고 생각되는 모델을 찾아야합니다. 그래서 생각을 여러 모델을 실험 내가 더 많거나 적은이 일에 자신을 결정 : OOP/상속을하는 것은이 방법이 올 바르고 경우자바 스크립트 상속에 대한 조언
function A() {
var x = 15; //private members
var y = 20;
this.soma = function() { // public member
return x + y
}
this.getX = function() { return x }
this.getY = function() { return y }
}
function B() {
this.mult = function() { // public member
return getX() * getY() // inherited public members
}
}
B.prototype = A()
b = new B()
console.log(b.mult())
그래서 더 많은 경험 JS 개발자 듣고 싶은 될 것입니다 무슨 그것을하는 더 좋은 방법.
귀하의 질문은 다소 모호합니다. Javascript는 프로토 타입 상속을 사용합니다. 익숙해지기까지 조금 걸립니다. 어떤 특정 문제를 해결하려고합니까? –
"저는 C++, Java, PHP, Delphi에서 왔습니다.하지만 Js oop/inheritance 모델은 정말 엉망입니다." Javascript가 아닌 것처럼 행동하도록 강요하지 마십시오. 즐거운 시간을 보내는 것은 아닙니다. –
이것은 유감입니다. "정확성", "효율성"또는 "개선"에 대한 코드 검사를 원할 경우 http://codereview.stackexchange.com/을 확인하십시오. –