我定义了两个类:库和书。图书馆有名称和书籍。本书有一个名字和一个作者。我在图书馆课上有一个方法,可以将书添加到图书馆。他们如下
classdef library
properties
name
books=book.empty
end
methods
function self=library(val1)
self.name=val1;
end
function addbook(self,item)
self.books(end+1)=item;
end
end
结尾
和那本书
classdef book
properties
author
title
end
methods
function self=book(val1,val2)
self.author=val1;
self.title=val2;
end
end
end
现在我定义
lib1=library('Leib')
book1=book('A','T')
当我想使用我的addbook方法将这本书添加到我的书架中时,它不会出现问题。图书馆空无一人
lib1.addbook(book1)
lib1 =
library with properties:
name: 'Leib'
books: []
任何帮助将不胜感激。
首先,您的addbook
方法有错误-它不返回self,即
function self = addbook(self,item)
self.books(end+1)=item;
end
您还看到了句柄类或值类之间的区别,请参见此处获取mathworks的说明。
要解决该问题,请执行以下操作:
lib1 = lib1.addbook(book1);
或更改您的库类以从句柄类派生
classdef library < handle
...
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句