现在的位置: 首页 > 综合 > 正文

学习软件设计——C#练习(7)

2018年01月09日 ⁄ 综合 ⁄ 共 2975字 ⁄ 字号 评论关闭

C#练习(1~8)源代码下载请到http://download.csdn.net/detail/hsttmht/3751088

引用请注明http://blog.csdn.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(); 
	} 
}

抱歉!评论已关闭.