投稿入口|热门专题|网站地图|移动官网|微信编辑器|蚂蚁搜索
您的当前位置:网站首页 > 电脑教程 > 数据库 > 正文

如何使用面向对象的思想来设计数据库

来源:[db:来源] 编辑:小蚂蚁站长 时间:2018-01-12 14:52:56 阅读:

第一次在实际项目中使用面向对象的思想来设计数据库,写下这篇博客,也是希望与大家多多交流。

正文开始

首先来需求分析

我们的系统有前台和后台,前台用户有:Man,Woman,SuperMan,SpiderMan与IronMan。后台用户为Administrator。

前台用户都要填写联系方式与地址,然后SuperMan,SpiderMan与IronMan都有Ability。

需求很简单。那么按照这个需求,我们来随手画一个继承关系图。其中V代表抽象类(应该是abstract,画图的时候脑抽想着是virtual就用V开头了,懒得改图了大家凑合着看吧),I代表Interface。如下图:

如何使用面向对象的思想来设计数据库

从图中可以看出,由抽象类Person派生出Administration与抽象类User。类Man与类Womam实现了接口Address与接口Contact,Inhumans则实现了Ability接口。

然后抽象类代码:

  1. View Code
  2. public abstract class Person
  3. {
  4. public string Username { get; set; }
  5. public string Password { get; set; }
  6. }
  7. public abstract class User : Person
  8. {
  9. public string Name { get; set; }
  10. }

接口代码:

  1. View Code
  2. public interface IAddress
  3. {
  4. string Address { get; set; }
  5. }
  6. public interface IContact
  7. {
  8. string Email{get;set;}
  9. string WorkPhone { get; set; }
  10. string MobilePhone { get; set; }
  11. string Fax { get; set; }
  12. }

最后是Man类和Woman类:

  1. View Code
  2. public class Man : User, IContact, IAddress
  3. {
  4. public string Address { get; set; }
  5. public string Email { get; set; }
  6. public string WorkPhone { get; set; }
  7. public string MobilePhone { get; set; }
  8. public string Fax { get; set; }
  9. public bool HasCar { get; set; } //如果这三项都为false的话
  10. public bool HasHouse { get; set; } //这辈子就甭想结婚了
  11. public bool HasMoney { get; set; } //T T我泪涌
  12. }
  1. View Code
  2. class Woman : User, IAddress, IContact
  3. {
  4. public string Address { get; set; }
  5. public string Email { get; set; }
  6. public string WorkPhone { get; set; }
  7. public string MobilePhone { get; set; }
  8. public string Fax { get; set; }
  9. public bool IsBeauty { get; set; } //这个为true,一辈子不愁吃喝
  10. }

相关文章推荐:

热门阅读推荐:

图文精选:

Copyright©2012-2030小蚂蚁信息网版权所有 站长QQ:1614558876 粤ICP备14061018号-1


郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们QQ1614558876删除已转载的信息。

知道创宇云安全
Top