学习软件设计——C#练习(7)
C#练习(1~8)源代码下载请到http://download.****.net/detail/hsttmht/3751088
引用请注明http://blog.****.net/hsttmht
1、编写一个类,完成对属性的练习,要求输入不符合要求的负数进行测试,并把各种测试的结果截图
class 类名
{ private int 账号; //帐号
private double 余额; //余额
private double 利息; //利息
private static double 利率; // 利率是静态的,因为所有帐户获得的利息相同
public Account(int 字段, double 字段)//账号和余额初始化
{
}
public int 用户账户号码// 只读属性
{
get { }
}
public double 余额
{
get{ }
}
public double 利息
{
get { }
set { }
}
}
public static double 利率
{
get
{
}
set
{
}
}
static void Main(string[] args)
{
类名 对象名 = new 类名(参数, 参数); // 创建 类的对象
Console.WriteLine("输入到现在为止已获得的利息和利率");
输入获得的利息和当前利率
计算总利息
Console.WriteLine("获得的总利息为: {0}", 总利息);
}
2.编写一个控制台应用程序,完成下列功能,并回答提出的问题。
1)创建一个类A,在构造函数中输出“A”,在创建一个类B,在构造函数中输出“B”。
2) 从A继承一个名为C的新类,并在C内创建一个成员B。不要为C创建构造函数。
3)在Main方法中创建类C的一个对象,写出运行程序后输出的结果。
4)如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么?
3.编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。
1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值后加10后的结果。
2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。
3)在Main方法中分别创建A和类B的对象,并分别调用MyMethod方法。
using System;
namespace Example_1
{
class SavingsAccount
{
//用于存储帐户号码、余额和已获利息的类字段。
private int _accountNumber;
private double _balance;
private double _interestEarned;
// 利率是静态的,因为所有的帐户都使用相同的利率
private static double _interestRate;
// 构造函数初始化类成员
public SavingsAccount(int accountNumber, double balance)
{
this._accountNumber = accountNumber;
this._balance = balance;
}
// AccountNumber只读属性
public int AccountNumber
{
get
{
return _accountNumber;
}
}
// Balance 只读属性
public double Balance
{
get
{
if (_balance < 0)
Console.WriteLine("无余额");
return _balance;
}
}
// InterestEarned 读/写属性
public double InterestEarned
{
get
{
return _interestEarned;
}
set
{
// 验证数据
if (value < 0.0)
{
Console.WriteLine("InterestEarned 不能为负数");
return;
}
_interestEarned = value;
}
}
// InterestRate 读/写属性为静态,
// 因为所有特定类型的帐户都具有相同的利率
public static double InterestRate
{
get
{
return _interestRate;
}
set
{
// 验证数据
if (value < 0.0)
{
Console.WriteLine("InterestRate 不能为负数");
return;
}
else
{
_interestRate = value / 100;
}
}
}
}
class TestSavingsAccount
{
/**//// <摘要>
/// 应用程序的主入口点。
/// </摘要>
[STAThread]
static void Main(string[] args)
{
// 创建 SavingsAccount 的对象
SavingsAccount objSavingsAccount = new SavingsAccount(12345, 5000);;
// 用户交互
Console.WriteLine("输入到现在为止已获得的利息和利率");
objSavingsAccount.InterestEarned = Int64.Parse(Console.ReadLine());
SavingsAccount.InterestRate = Int64.Parse(Console.ReadLine());
// 使用类名访问静态属性
objSavingsAccount.InterestEarned += objSavingsAccount.Balance * SavingsAccount.InterestRate;
Console.WriteLine("获得的总利息为: {0}", objSavingsAccount.InterestEarned);
}
}
}
using System;
public class A
{
public A()
{
Console.WriteLine("A");
}
}
public class B
{
public B()
{
Console.WriteLine("B");
}
}
public class C : A
{
B newb = new B();
/*public C()
{
Console.WriteLine("C");
}*/
}
class MainClass
{
public static void Main()
{
C newc = new C();
Console.ReadLine();
}
}
using System;
public class A
{
public virtual void MyMethod(int num)
{
num += 10;
Console.WriteLine(num);
}
}
public class B : A
{
public override void MyMethod(int num)
{
num += 50;
Console.WriteLine(num);
}
}
class MainClass
{
public static void Main()
{
A a = new A();
a.MyMethod(100);
B b = new B();
b.MyMethod(200);
Console.ReadLine();
}
}