UML类图

代码实现:
public abstract class Document
{
public string Name { get; set; }
public abstract void Add(Document document);
public abstract void Remove(Document document);
public abstract void Display();
}
public class File : Document
{
public override void Add(Document document)
{
throw new NotImplementedException();
}
public override void Remove(Document document)
{
throw new NotImplementedException();
}
public override void Display()
{
throw new NotImplementedException();
}
}
public class Folder : Document
{
private List<Document> documents = new List<Document>();
public override void Add(Document document)
{
documents.Add(document);
}
public override void Remove(Document document)
{
documents.Remove(document);
}
public override void Display()
{
foreach (var document in documents)
{
Console.WriteLine(document.Name);
document.Display();
}
}
}
Python代码实现
class Doc(object):
name = ""
def Add(self, doc):
raise NotImplementedError("abstract add")
def Remove(self, doc):
raise NotImplementedError("abstract remove")
def Display(self):
raise NotImplementedError("abstract remove")
class File(Doc):
pass
class Folder(Doc):
__docList = []
def Add(self, doc):
self.__docList.append(doc)
def Remove(self, doc):
self.__docList.remove(doc)
def Display(self):
for doc in self.__docList:
print(doc.name)
if __name__ == "__main__":
file1=File()
file1.name="heihei.doc"
file2=File()
file2.name="hehe.csv"
folder=Folder()
folder.Add(file1)
folder.Add(file2)
folder.Display()
本文通过具体的代码示例展示了UML类图的概念及其在软件设计中的应用。使用C#和Python实现了文档、文件及文件夹类,并演示了如何通过这些类构建文件系统的简单模型。
707

被折叠的 条评论
为什么被折叠?



