У меня достаточно опыта в кодировании в 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
, но этого не происходит.
Может кто-нибудь помочь мне с этим?