Class 我如何让用户只借阅书籍的副本而不进行审阅?
因此,我在一个图书馆管理系统上工作,我有一个文档类,可以是book(livre)类型或revue(revue),每个文档只有很少的副本,用户只允许借阅书籍副本,而不允许借阅评论副本,我找不到任何其他方法,只能制作两个副本(Examplaile)类,一个用于书籍,另一个用于审查。 提前谢谢Class 我如何让用户只借阅书籍的副本而不进行审阅?,class,oop,object,inheritance,uml,Class,Oop,Object,Inheritance,Uml,因此,我在一个图书馆管理系统上工作,我有一个文档类,可以是book(livre)类型或revue(revue),每个文档只有很少的副本,用户只允许借阅书籍副本,而不允许借阅评论副本,我找不到任何其他方法,只能制作两个副本(Examplaile)类,一个用于书籍,另一个用于审查。 提前谢谢 我会做如下事情: public class Document { //document properties } public interface IBorrowable { Document
我会做如下事情:
public class Document
{
//document properties
}
public interface IBorrowable
{
Document Lend();
}
public class Book : Document, IBorrowable
{
public Document Lend()
{
throw new NotImplementedException();
}
}
public class Review:Document
{
}
我认为这种方式很有意义,因为能够被借用是一种能力,特定类型的文档可以拥有
另一个原因是,这种方式具有足够的动态性,可以涵盖您可能需要的其他未来类型的文档
我会做如下事情:
public class Document
{
//document properties
}
public interface IBorrowable
{
Document Lend();
}
public class Book : Document, IBorrowable
{
public Document Lend()
{
throw new NotImplementedException();
}
}
public class Review:Document
{
}
我认为这种方式很有意义,因为能够被借用是一种能力,特定类型的文档可以拥有
另一个原因是,这种方式具有足够的动态性,可以涵盖您可能需要的其他未来类型的文档
为什么不上两门课:读书和复习。(请告诉您的老师,最好使用英语作为类名,并避免使用重音:我从未在代码中看到带有重音的类名) 我会在副本和文档之间更改关联的方向。据我所知,该文件是一份文件的官方参考文件。它可以是标准化的,在世界上所有的图书馆都可以是一样的:它的作用不是管理拷贝 你可以得到很多既没有属性也没有方法的类:它们可以被一个简单的枚举所代替 然后,下面的模型显示用户只能借书。此解决方案避免了OCL的使用。即使OCL是一个好主意:它简化了模型,但增加了OCL规则的复杂性
为什么不上两门课:读书和复习。(请告诉您的老师,最好使用英语作为类名,并避免使用重音:我从未在代码中看到带有重音的类名) 我会在副本和文档之间更改关联的方向。据我所知,该文件是一份文件的官方参考文件。它可以是标准化的,在世界上所有的图书馆都可以是一样的:它的作用不是管理拷贝 你可以得到很多既没有属性也没有方法的类:它们可以被一个简单的枚举所代替 然后,下面的模型显示用户只能借书。此解决方案避免了OCL的使用。即使OCL是一个好主意:它简化了模型,但增加了OCL规则的复杂性
为什么不添加布尔属性(CanBeFrood)?谢谢yahya,我有这个想法,但这不会破坏成员(adhérent)和副本(Examplaile)之间的关联(Frood)的意义吗?如果一个成员借用了一个副本,那么我们应该测试它是否正常,有没有其他方法将可借用文档与其他文档分开?为什么不添加一个布尔属性(CanBeFrood)?谢谢yahya,我有这个想法,但这不会破坏成员(adhérent)和副本(Examplaile)之间的关联(借用)的意义吗?如果成员借用了副本,那么我们应该测试它是否正确,有没有其他方法将可借用文档与其他文档分开?解决方案没有错,但不是UML。您需要使用链接到关联的约束来显示。是的,正如您可能已经注意到的,我的类图中已经有一个可借用的接口(empruntable),我让book实现了我的接口,但是关联借用是在copy和member之间,所以成员可以调用方法来借用任何文档的副本。@ThomasKilian您是指OCL吗?这会出现在我的类图中吗?对不起,我不懂法语,所以这个图对我来说不是很清楚,问题是如果一种类型的文档不能被借用,那么它就不应该实现IBorrowable@YahyaHussein这里的问题是,,应该借阅的不是书,而是它的副本,因为一本书有多个副本可用,而且该副本类是review和book之间的共同点:/解决方案没有错,但它不是UML。您需要使用链接到关联的约束来显示。是的,正如您可能已经注意到的,我的类图中已经有一个可借用的接口(empruntable),我让book实现了我的接口,但是关联借用是在copy和member之间,所以成员可以调用方法来借用任何文档的副本。@ThomasKilian您是指OCL吗?这会出现在我的类图中吗?对不起,我不懂法语,所以这个图对我来说不是很清楚,问题是如果一种类型的文档不能被借用,那么它就不应该实现IBorrowable@YahyaHussein这里的问题是,,应该借阅的不是书,而是它的副本,因为一本书有多个副本可用,而且副本类是review和book之间的一个共同点:/hey@granier对于没有属性和方法的类,只是我在文档/副本问题上卡住了,就停止了开发我的图表类,我真的很想避免创建borrowableCopy和UnbrowableCopy类,但我想没有其他办法了,非常感谢。hey@granier对于没有属性和方法的类,只是我在文档/副本问题上陷入困境后停止了开发我的图表类,我真的很想避免使用borrowableCopy和UnbrowableCopy类,但我想没有别的办法了,非常感谢。