Я довольно опытен в программировании на Javascript, но есть одна вещь, которую я не могу понять.
У меня есть суперкласс, скажем, Категория. Теперь я хочу создать несколько экземпляров подкласса, скажем, Post, внутри экземпляра Category. Я хочу, чтобы Post имел свои собственные свойства, но он также должен иметь доступ к свойствам своего родителя. Итак, вот концепция:
/* Superclass */
function Category(catID) {
this.catID = catID;
this.posts = [];
this.addPost = function(id, content) {
var post = new Post(id, content);
post.prototype = Category;
this.posts.push(post);
}
this.getPosts = function() {
for(post in this.posts){
this.posts[post].getContent();
}
}
}
/* Subclass */
function Post(postID, content) {
this.postID = postID;
this.content = content;
this.getContent = function() {
console.log('Post: '+ this.postID);
console.log('Category: ' + this.catID);
console.log('Content: ' + this.content);
}
}
var cat1 = new Category(1);
var cat2 = new Category(2);
cat1.addPost(101, 'First post in first category');
cat1.addPost(102, 'Second post in first category');
cat2.addPost(201, 'First post in second category');
cat2.addPost(202, 'Second post in second category');
cat1.getPosts();
cat2.getPosts();
Я застрял на линии post.prototype = Category
. Я ожидал, что теперь Post
наследует свойства Category
, но этого не происходит.
Может кто-нибудь, пожалуйста, помогите мне с этим?