C# 语言 第一部分 面向对象(十二) 接口的应用
本章为接口课程的综合练习。
本次练习展示了一个简化的银行业务流程,体现了银行和用户数个角色的关系。看下图:
账户类(Account)对象存储在数据库类(Database)对象中;计算机(Computer)类对象连接到数据库类对象上;银行柜台(BankCounter)类对象拥有一台计算机对象作为私有成员,利用该对象对数据库进行操作;ATM机(ATM)类继承自计算机类,其对象可以对数据库对象进行操作;银行柜台类对象可创建银行用户类(BankUser)对象,用户类对象可以进行取款、存款和转账操作。
GetMoneyable接口表示对象具备取款能力;
SaveMoneyable接口表示对象具备存款能力;
Transferable接口表示对象具备转账能力。
用户类对象取款操作目标为任意符合GetMoneyable接口的类对象;存款操作目标为任意符合SaveMoneyable接口的类对象;转账操作目标为任意符合Transferable接口的类对象。
银行柜台类实现了所有三个接口;ATM对象实现了GetMoneyable接口和Transferable接口,即ATM机可以取款和转账,不能存款。
看代码:
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace Edu.Study.OO.UseInterface {
7
8 /// <summary>
9 /// 账号类
10 /// </summary>
11 public class Account {
12
13 /// <summary>
14 /// 账户名
15 /// </summary>
16 private string name;
17
18 /// <summary>
19 /// 账号
20 /// </summary>
21 private string accountNo;
22
23 /// <summary>
24 /// 帐户密码
25 /// </summary>
26 private string password;
27
28 /// <summary>
29 /// 账户存款
30 /// </summary>
31 private int money;
32
33 /// <summary>
34 /// 流水号,用于生成账号
35 /// </summary>
36 private static int serialNo = 0;
37
38 /// <summary>
39 /// 账户名,只读
40 /// </summary>
41
相关文档:
今天做项目的时候,将null传入Oracle的表中,就是不成功
经过尝试得出了两个解决方案:
1.传入OracleDateTime.NULL
2.Nullable<DateTime> optime = DBNull.Value; 传入optime(开始网上找的答案是Nullable<DateTime> optime = null发现还是会报错) ......
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// Data ......
添加引用
using System.Data.OracleClient;
主要用到了两个类
System.Data.OracleClient.OracleConnection 表示一个到数据库的连接。此类无法继承。
System.Data.OracleClient.OracleCommand 表示针对数据库执行的 SQL 语句或存 ......
C# access日期查询加#
if (((string)((ComboBoxItem)cmbField.SelectedItem).Value).Equals("System.DateTime"))
{
//判断日期的;
& ......
原文地址:http://msdn.microsoft.com/zh-cn/library/79b3xss3(VS.80).aspx
静态类和类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立于任何对象标识的数据和行为:无论对象发生什么更改,这些数据和函数都不会随之变化。当类中没有依赖对象标识的数据或行为时, ......