C# 中的接口
2021-02-19 05:18
标签:hdr return .com sharp for new soscw with span 1、首先建立一个接口 interface IBankAccount 2、分别建立两个类,这两个类都继承于接口IBankAccount 3、Main 函数实例化类,并进行测试 4、测试结果 C# 中的接口 标签:hdr return .com sharp for new soscw with span 原文地址:https://www.cnblogs.com/wenjie0904/p/8322270.htmlusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Wrox.ProeCSharp
{
interface IBankAccount
{
void PayIn(decimal account); //方法不用实现,类继承是重写
bool WithDraw(decimal account); //方法不用实现,类继承是重写
decimal Balance { get; } //注意是属性,不是字段
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Wrox.ProeCSharp.VenusBank
{
class VenusAccount : IBankAccount
{
public decimal balance;
public void PayIn(decimal account)
{
balance += account;
}
public bool WithDraw(decimal account)
{
if (balance >= account)
{
balance -= account;
return true;
}
Console.WriteLine("WithDraw fail!");
return false;
}
public decimal Balance
{
get { return balance; }
}
public override string ToString()
{
return string.Format("Venus bank saver: Balance= {0,6:C}", balance);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Wrox.ProeCSharp.JupiteBank
{
class JupiteAccount:IBankAccount
{
public decimal balance;
public void PayIn(decimal account)
{
balance += account;
}
public bool WithDraw(decimal account)
{
if (balance >= account)
{
balance -= account;
return true;
}
Console.WriteLine("WithDraw fail!");
return false;
}
public decimal Balance
{
get { return balance; }
}
public override string ToString()
{
return string.Format("Gold bank saver: Balance= {0,6:C}", balance);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Wrox.ProeCSharp.JupiteBank;
using Wrox.ProeCSharp.VenusBank;
namespace Wrox.ProeCSharp
{
class Program
{
static void Main(string[] args)
{
VenusAccount venus = new VenusAccount();
JupiteAccount jupite = new JupiteAccount();
venus.PayIn(200);
venus.WithDraw(300);
Console.WriteLine(venus.ToString());
jupite.PayIn(600);
jupite.WithDraw(500);
jupite.WithDraw(100);
Console.WriteLine(jupite.ToString());
Console.ReadLine();
}
}
}