zoukankan      html  css  js  c++  java
  • XPO 第三方控件学习(DevExpress Persistent Object )系列继承和多态

      某种程度上也可以说是表间关系。

                 XPO的持久类支持完整的继承和多态。

                 比如管理人员是一个员工,但一个员工不一定是管理人员。这个我们在以前数据库设计时可以在员工表中加一个是否管理人员的标识,或者另建一个管理人员表,再通过外键让它和员工表建立关系。

       XPO中就可以用OO的方式来描述此类关系:建一个员工类,再建一个员工类的子类:管理人员类。

    Public Class Employee

        Inherits XPObject

        Public LastName As String = ""

        Public FirstName As String = ""

        <Association("ManagerEmployees")> Public Manager As Manager = Nothing

     

        Public Sub New()

        End Sub 'New

     

        Public Sub New(ByVal newLastName As String, ByVal newFirstName As String)

            LastName = newLastName

            FirstName = newFirstName

        End Sub 'New

    End Class 'Employee

     _

     

    Public Class Manager

        Inherits Employee

        <Association("ManagerEmployees", GetType(Employee))> _

           Public ReadOnly Property Employees() As XPCollection

            Get

                Return GetCollection("Employees")

            End Get

        End Property

     

        Public Sub New()

        End Sub 'New

     

        Public Sub New(ByVal newLastName As String, ByVal newFirstName As String)

            MyBase.New(newLastName, newFirstName)

        End Sub 'New

    End Class 'Manager

    注意使用了关联属性。但是这里的关联关系仅仅是表示一个管理人员所管理的下属员工(管理人员)。

    作者:johnny 出处:http://www.cnblogs.com/sunjunlin 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    webstorm快捷键大全
    Js的reduce()方法
    利用 c# linq 实现多个数据库的联合查询
    微信小程序支付接入注意点
    ubuntu所有php扩展php-7.0扩展列表
    ubuntu 16.04 php 安装curl方法
    Ubuntu下配置Apache开启HTTPS
    Mac下如何用SSH连接远程Linux服务器及Linux一些常用操作命令,更新中.....
    Mac下如何用SSH连接远程Linux服务器
    C#的dapper使用
  • 原文地址:https://www.cnblogs.com/sunjunlin/p/1678666.html
Copyright © 2011-2022 走看看