《面向对象程序设计编程实验上机.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计编程实验上机.doc(5页珍藏版)》请在三一办公上搜索。
1、面向对象程序设计编程上机作业题目:(1) 调试构造函数Pen()例题using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication2 class Pen public string Color; private int Price; public Pen() Color=BLACK; Price=5; public void SetPrice(int newPrice) Price=newPrice; public int GetPrice() return Price;
2、public void SetColor(string newColor) Color=newColor; public string GetColor() return Color; class Test public static void Main()Pen myPen=new Pen() ;Console.WriteLine(The price is 0,myPen.GetPrice();Console.WriteLine(The Color is 0,myPen.Color); (2) 调试构造函数重载Pen()例题using System;class Pen public stri
3、ng Color; private int Price; public Pen() Color = BLACK; Price = 5; public Pen(string newColor, int newPrice) Color = newColor; Price = newPrice; public void SetPrice(int newPrice) Price = newPrice; public void SetPrice() Price = 5; public int GetPrice() return Price; public void SetColor(string new
4、Color) Color = newColor; public string GetColor() return Color; class Test public static void Main() Pen myPen = new Pen(); Pen hisPen = new Pen(GREEN, 8); Console.WriteLine(The price is 0, myPen.GetPrice(); Console.WriteLine(The Color is 0, myPen.Color); Console.WriteLine(The price is 0, hisPen.Get
5、Price(); Console.WriteLine(The Color is 0, hisPen.GetColor(); hisPen.SetPrice(); Console.WriteLine(The price is 0, hisPen.GetPrice(); (3)使用重载方法求5和5.65的平方。using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication8 class Program public class app public int app1(int x
6、) return x * x; public double app1(double y) return y * y; static void Main(string args) app x = new app(); Console.WriteLine(5的平方是0, x.app1(5); Console.WriteLine(5.65的平方是0, x.app1(5.65); (4)将运算符+和- -进行重载,使之可对字符型数据进行运算,即:对一个字符型变量a,当a=L时a+(或+a)的值为M, a- -(或- -a)的值为Kusing System;using System.Collection
7、s.Generic;using System.Text;namespace ConsoleApplication6 public class charTest private char ch; public charTest() this.ch = ; public charTest(char val) this.ch = val; public char c get return this.ch; set this.ch = value; static public charTest operator +(charTest orig) charTest Result = new charTe
8、st(); Result.ch = (char)(orig.ch + 1); return Result; static public charTest operator -(charTest orig) charTest Result = new charTest(); Result.ch = (char)(orig.ch - 1); return Result; public class overloadApp public static void Main() charTest a = new charTest(L); charTest b = new charTest(L); Cons
9、ole.WriteLine(Original value is :0,1, a.c, b.c); a = +a; b = -b; Console.WriteLine(Current value is :0.1, a.c, b.c); a = +a; b = -b; Console.WriteLine(Final value is:0,1, a.c, b.c); (5)编写一个控制台程序,完成下列功能并输出结果:创建一个类Test1,用无参数的构造函数输出该类的类名;增加一个重载的构造函数,带有一个string类型的参数,在此构造函数中将传递的字符串打印出来;在Main方法中创建属于Test1类
10、的一个对象,不传递参数;在Main方法中创建属于Test1类的另一个对象,传递一个字符串“This is a string”;using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication8 class Program class Test1 public string test; public Test1() test = Test1; public Test1(string s) test = s; static void Main(string args) strin
11、g x = This is a string; Test1 app1 = new Test1(); Test1 app2 = new Test1(x); Console.WriteLine(0, app1.test); Console.WriteLine(0, app2.test); (6)编写一个控制台程序,完成下列功能并输出结果:创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果;再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果; 在Main方法中分别创建类A和类
12、B的对象,并分别调用MyMethod方法;using System;class ClassA public static int MyMethod(int i) i=i+10; return i;class ClassB:ClassApublic static int MyMethod(int i)i=i+50;return i;class Testpublic static void Main() ClassA a=new ClassA(); ClassB b=new ClassB(); Console.WriteLine(请输入一个数:); string s=Console.ReadLin
13、e(); int x=Int32.Parse(s); Console.WriteLine(调用A类方法:0, ClassA.MyMethod(x); Console.WriteLine(调用B类方法:0, ClassB.MyMethod(x); (7)利用委托实现:当用户输入一个字符1时,调用两个整数相加的方法,计算两整数之和;当用户输入一个字符2时,调用两个整数相减的方法,计算两整数之差。using System;class Appdelegate int process(int a,int b); public static int add(int a,int b) return a+b;
14、 public static int sub(int a,int b) return a-b;static void Main() string s,s1,s2; process Pro; Console.WriteLine(请输入一个数:); s1=Console.ReadLine(); int a=Int32.Parse(s1); Console.WriteLine(请输入另一个数:); s2=Console.ReadLine(); int b=Int32.Parse(s2); Console.WriteLine(请选择运算方法:为相加,为相减); s=Console.ReadLine(); if(s=1) Pro=new process(add); else Pro=new process(sub); Console.WriteLine(结果为:0,Pro(a,b);