一篇关于c#计算利率上用继承和接口方法编写的过程及心得体会

文章展示了如何通过定义接口IAccount和创建基类Account以及派生类SimpleInterestAccount,利用继承和接口实现代码复用和多态性,以计算利息。这种方法提高了代码的组织性和灵活性。
摘要由CSDN通过智能技术生成
using System;

namespace InterestCalculator
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("欢迎使用利息计算器!");

            Console.Write("请输入本金金额:");
            double principal = Convert.ToDouble(Console.ReadLine());

            Console.Write("请输入年利率(百分比):");
            double annualInterestRate = Convert.ToDouble(Console.ReadLine());

            Console.Write("请输入存款期限(年数):");
            int years = Convert.ToInt32(Console.ReadLine());

            double interest = CalculateInterest(principal, annualInterestRate, years);

            Console.WriteLine($"在 {years} 年后,本金 {principal} 元的利息是 {interest} 元。");
        }

        static double CalculateInterest(double principal, double annualInterestRate, int years)
        {
            double interestRate = annualInterestRate / 100;
            double interest = principal * interestRate * years;
            return interest;
        }
    }
}

请注意,此程序假定用户提供正确的输入,并且只考虑简单利息计算

在此之上可以使用有关接口和继承的编写方式。

例如:

首先,我们定义一个名为"IAccount"的接口,它包含一个计算利息的方法:

public interface IAccount
{
    decimal CalculateInterest();
}

接下来,我们创建一个"Account"类,它是基类,实现了"IAccount"接口,并提供了一个虚拟的计算利息方法:

public class Account : IAccount
{
    protected decimal balance;
    protected decimal rate;

    public Account(decimal balance, decimal rate)
    {
        this.balance = balance;
        this.rate = rate;
    }

    public virtual decimal CalculateInterest()
    {
        // 根据具体利息计算公式来计算利息
        decimal interest = balance * rate;
        return interest;
    }
}

接下来,我们可以创建派生类来实现不同的利息计算方式。例如,我们可以创建一个名为"SimpleInterestAccount"的派生类:

public class SimpleInterestAccount : Account
{
    public SimpleInterestAccount(decimal balance, decimal rate) : base(balance, rate)
    {
    }

    public override decimal CalculateInterest()
    {
        // 使用简单利息计算公式计算利息:利息 = 本金 * 利率
        decimal interest = balance * rate;
        return interest;
    }
}

现在,我们就可以使用这些类来计算利息了。下面是一个简单的示例程序,演示如何使用上述类来计算利息:

public class Program
{
    static void Main(string[] args)
    {
        // 创建一个SimpleInterestAccount对象
        SimpleInterestAccount account = new SimpleInterestAccount(1000, 0.05m);

        // 调用CalculateInterest方法来计算利息
        decimal interest = account.CalculateInterest();

        Console.WriteLine("利息为:" + interest.ToString("C"));
        Console.ReadLine();
    }
}

在上面的示例中,我们创建了一个SimpleInterestAccount对象,指定了账户余额和利率。然后,我们调用CalculateInterest方法来计算利息,并将结果输出到控制台。

使用接口和继承的编写方式可以带来很多便利,诸如:

  1. 代码复用:继承和接口可以帮助我们实现代码的重用。通过继承,我们可以创建一个基类,其中包含多个子类所共有的属性和方法。这样,我们只需要编写一次通用的代码,然后在子类中进行必要的扩展和修改。而接口则定义了一组必须实现的方法,使得多个类可以通过实现同一接口来复用相同的功能。

  2. 代码组织:继承和接口可以帮助我们更好地组织和管理代码。通过将类分为基类和子类,我们可以将类的功能划分为多个级别和层次,使得代码结构更加清晰和易于维护。而接口则可以将功能归类为多个模块,通过实现不同的接口,我们可以更好地组织和复用代码。

  3. 多态性:继承和接口提供了多态性的特性,使得我们可以以一种通用的方式来处理不同类型的对象。通过基类或接口的引用,我们可以调用子类或实现类中的方法,而无需关心具体的实现细节。这种多态性的特性可以提高代码的灵活性和可扩展性。

  4. 接口隔离:使用接口可以帮助我们实现接口隔离原则,即一个接口应该只包含客户端所需要的方法。通过只实现必要的接口方法,我们可以避免不必要的功能依赖和代码耦合,使得程序更加灵活和易于测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值