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
相关文档:
C#与Flash交互 (转自小磊在线)
C#与Flash交互
前段日子公司要求做一个C#与Flash交互的东西,用来C#与短信猫通讯将数据传到Flash上显示与操作的应用。
第一步C#添加组件
打开VS2005-工具-选择工具箱项-COM组件-选择Shockwave Flash Object-确定
添加好组件往场景上拖放,如果提示注册需求注册
c# 注册控件-在运行输 ......
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 ......
新建一个专门用来创建验证码图片的页面ValidateCode.aspx
它的后台cs文件代码如下:
PageLoad
private void Page_Load(object sender, System.EventArgs e)
{
string checkCode = CreateRandomCode(4);
Session["CheckCode"] = checkCode;
CreateImage(checkCode);
......
以下参考 :http://msdn.microsoft.com/zh-cn/library/87d83y5b.aspx
接口(C# 参考)
更新:2007 年 11 月
接口只包含方法、属性、事件或索引器的签名。成员的实现是在实现接口的类或结构中完成的,如下面的示例所示:
示例
interface ISampleInterface
{
void SampleMethod();
}
class Implem ......
* Copyright all(c) 2005 ZhongFeng, http://blog.csdn.net/SW515 */
public class ValidateCode : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
this.CreateCheckCodeImage(GenerateCheckCode());
}
&nb ......