求大神解答,用c#编,在线等
1.请编写一个Helper类,里面有一个静态方法(average(int[]arr)),然后在测试代码中调用这个方法,用来求出一个数组中所有数的平均值。2.编写三个类:水...
1. 请编写一个Helper类,里面有一个静态方法(average(int[] arr)),然后在测试代码中调用这个方法,用来求出一个数组中所有数的平均值。
2. 编写三个类:水果(Fruit)、苹果(Apple)和桔子(Orange)。
a) 苹果和和桔子类都是水果类的子类;
b) 为三个类设计合理的字段和方法,并在子类中用new隐藏父类的一个方法;
c) 每个类都要设计带参数的构造方法,用于初始化字段的值;
d) 通过控制台或Windows界面应用程序,编写测试代码。
3. 编写两个类:Vehicle(运输工具)类和Car(轿车)类。
a) Vehicle类是Car类的父类;
b) Vehicle类中有一个虚方法Turn()(转弯),Car类中重写这个方法;
c) 通过控制台或Windows界面应用程序,编写测试代码。 展开
2. 编写三个类:水果(Fruit)、苹果(Apple)和桔子(Orange)。
a) 苹果和和桔子类都是水果类的子类;
b) 为三个类设计合理的字段和方法,并在子类中用new隐藏父类的一个方法;
c) 每个类都要设计带参数的构造方法,用于初始化字段的值;
d) 通过控制台或Windows界面应用程序,编写测试代码。
3. 编写两个类:Vehicle(运输工具)类和Car(轿车)类。
a) Vehicle类是Car类的父类;
b) Vehicle类中有一个虚方法Turn()(转弯),Car类中重写这个方法;
c) 通过控制台或Windows界面应用程序,编写测试代码。 展开
2个回答
展开全部
这是这题目是考c#的两个概念,隐藏和重写
(1)隐藏
当分别位于父类和子类的两个方法完全一样时,调用哪个方法由对象变量的类型决定。
(2)重写
将父类方法定义为虚方法,子类重写同名方法后,通过父类变量调用哪个方法由对象变量引用的真实对象决定,而与变量自身所属的类型无关。
第一题:请编写一个Helper类,里面有一个静态方法(average(int[] arr)),然后在测试代码中调用这个方法,用来求出一个数组中所有数的平均值。
class Helper
{
public static double Average(int[] arr)
{
return arr.Average();
}
}
测试:
//测试!28
int[] arrs = { 1, 2, 3, 4, 5, 6, 7 };
Console.WriteLine(Helper.Average(arrs));
第二题:
2. 编写三个类:水果(Fruit)、苹果(Apple)和桔子(Orange)。
a) 苹果和和桔子类都是水果类的子类;
b) 为三个类设计合理的字段和方法,并在子类中用new隐藏父类的一个方法;
c) 每个类都要设计带参数的构造方法,用于初始化字段的值;
d) 通过控制台或Windows界面应用程序,编写测试代码。
public class Fruit
{
public string Name { get; set; }
public void TestMethod()
{
Console.WriteLine("我是父类方法");
}
public void EatFruit()
{
Console.WriteLine("开始吃 " + this.Name);
}
}
public class Orange : Fruit
{
public Orange(string name)
{
this.Name = name;
}
}
public class Apple : Fruit
{
public Apple(string name)
{
this.Name = name;
}
public new void TestMethod()
{
Console.WriteLine("我是子类 Apple的方法");
}
}
测试:
static void Main(string[] args)
{
// 编写三个类:水果(Fruit)、苹果(Apple)和桔子(Orange)。
//a) 苹果和和桔子类都是水果类的子类;
//b) 为三个类设计合理的字段和方法,并在子类中用new隐藏父类的一个方法;
//c) 每个类都要设计带参数的构造方法,用于初始化字段的值;
//d) 通过控制台或Windows界面应用程序,编写测试代码。
Apple apple = new Apple("苹果");
apple.TestMethod();
Orange orange = new Orange("橘子");
orange.TestMethod();
}
第三题:
public class Vehicle
{
public string Name { set; get; }
public string Location { set; get; }
public double Price { set; get; }
public virtual void Turn()
{
Console.WriteLine("我左转。。");
}
}
public class Car : Vehicle
{
public override void Turn()
{
Console.WriteLine("其实我右转。。");
}
}
测试:
static void Main(string[] args)
{
// 编写两个类:Vehicle(运输工具)类和Car(轿车)类。
//a) Vehicle类是Car类的父类;
//b) Vehicle类中有一个虚方法Turn()(转弯),Car类中重写这个方法;
//c) 通过控制台或Windows界面应用程序,编写测试代码。
Vehicle v = new Car();
v.Turn();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询