求大神解答,用c#编,在线等

2024-04-28

1. 求大神解答,用c#编,在线等

这是这题目是考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();        }

求大神解答,用c#编,在线等