博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
6.接口
阅读量:5750 次
发布时间:2019-06-18

本文共 2542 字,大约阅读时间需要 8 分钟。

声明接口在语法上与声明抽象类完全相同,但不允许提供接口中任何成员的实现方式。 一般情况下,接口只能包含方法、属性、索引器和事件的声明。不能实例化接口 ,它只能包含其成员的 签名。接口既不能有构造函数,接口定义也不允许包含运算符重载。

6.1 定义和实现接口

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 定义接口{    public interface IBankAccount    {        void PayIn(decimal amount);        bool Withdraw(decimal amount);        decimal Balance        { get; }    }    class Program    {        static void Main(string[] args)        {            IBankAccount x = new SaveAccount();            IBankAccount y = new SaveAccount();            x.PayIn(200);            x.Withdraw(100);            Console.WriteLine(x.ToString());            y.PayIn(500);            y.Withdraw(600);            y.Withdraw(100);            Console.WriteLine(y.ToString());        }    }}using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 定义接口{    public class SaveAccount : IBankAccount    {        private decimal balance;        public void PayIn(decimal amount)        {             balance+= amount;        }        public bool Withdraw(decimal amount)        {            if (balance >= amount)            {                balance -= amount;                return true;            }            else            {                Console.WriteLine("Withdraw1 attempt failed");                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;namespace 定义接口{    public class GoldAccount : IBankAccount    {        private decimal balance;        public void PayIn(decimal amount)        {            balance += amount;        }        public bool Withdraw(decimal amount)        {            if (balance >= amount)            {                balance -= amount;                return true;            }            else            {                Console.WriteLine("Withdraw1 attempt failed");                return false;            }        }        public decimal Balance        {            get            {                return balance;            }        }        public override string ToString()        {            return String.Format("Venus Bank Saver:Balance={0,6:C}", balance);        }    }}

转载于:https://www.cnblogs.com/sharp-c/archive/2012/09/09/2678099.html

你可能感兴趣的文章
POI 生成 xls 文件使用总结(快速入门)
查看>>
CString、Char* ,char [20]、wchar_t、unsigned short转化
查看>>
从案例学RxAndroid开发(上)
查看>>
debian 下安装megacli
查看>>
我写的第一个shell脚本(2009-06-08)
查看>>
ubutun 中 Eclipse中 快捷键 Alt + / 不能使用的问题
查看>>
Redis学习手册(内存优化)
查看>>
浅尝TensorFlow on Kubernetes
查看>>
wnmp-3.1.0安装cakephp启动失败处理
查看>>
springboot系列十 Spring-Data-Redis
查看>>
Confluence 6 注册外部小工具
查看>>
excel进行矩阵计算
查看>>
基于Android平台的动态生成控件和动态改变控件位置的方法
查看>>
Java集合(二) Map 架构
查看>>
linux 死机分析
查看>>
BOM
查看>>
LeetCode:Nim Game - 尼姆博弈
查看>>
Python装饰器高级版—Python类内定义装饰器并传递self参数
查看>>
Linux解压unzip用法
查看>>
JAXB和XStream比较
查看>>