zoukankan      html  css  js  c++  java
  • C# 中的接口

    1、首先建立一个接口  interface IBankAccount

    using 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; }    //注意是属性,不是字段
    
        }
    }

    2、分别建立两个类,这两个类都继承于接口IBankAccount

    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);
            }
        }
    }

    3、Main 函数实例化类,并进行测试

    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();
    
            }
        }
    }

    4、测试结果

  • 相关阅读:
    CSS3-文本渐变色
    doT.js-doT模板方便快捷的组织页面DOM
    js库-AngularJS
    js-点击按钮页面滚动到顶部,底部,指定位置
    js-页面进入时同时实现-图片预加载
    js-jquery 中$.ajax -浅显接触
    js-数字渐增到指定的数字,在指定的时间内完成(有动画效果哦)插件jquery.animateNumber.js
    小程序-生成一个小程序码画在canvas画布上生成一张图片分享出去
    小程序-点击按钮回到顶部1
    vivo手机的坑-禁止微信浏览器网页点击图片,图片会自动放大
  • 原文地址:https://www.cnblogs.com/wenjie0904/p/8322270.html
Copyright © 2011-2022 走看看