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

本文共 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

你可能感兴趣的文章
网络营销第三课:利用织梦搭建动态网站(1)
查看>>
oracle_base 和 oracle_home 的区别
查看>>
Python学习--13 文件I/O
查看>>
Tensorflow基本概念与函数
查看>>
C语言基础学习2:字符数组
查看>>
Qt Model/View学习(二)
查看>>
JS自带字符串函数
查看>>
《C#线程参考手册》读书笔记(二):.NET中的线程
查看>>
Windows Security Login
查看>>
远程服务和本地服务
查看>>
SpringAOP小结
查看>>
单体内置对象的理解
查看>>
数据结构7_链二叉树
查看>>
使用Newtonsoft将DataTable转Json
查看>>
缓存类
查看>>
Spark RDD Transformation 简单用例(三)
查看>>
分治法理论
查看>>
澄甫先生谓古人练拳分四步功夫
查看>>
第八天
查看>>
C# Lambda表达式
查看>>