求这几道c#的判断题
1个回答
展开全部
第一题:答案是“不见得”。如果是位置参数,那么分两种情况:1.两个错位的参数类型不兼容,这种情况下,编译肯定出错;2.两个错位的参数类型兼容(包括类型相同,可以隐式转换、对等关系等),那么编译是可以通过的,不过运行结果肯定出人意料。如果是具名参数,那就不会出错,编译能通过,结果也正确。
第二题:答案(我认为是)“正确”的,但是很显然,这里是为了考察你对“重载(overload)”和“重写(override)”的理解。这段论述,用来描述重写是一点问题没有的,因为重写的意义就在于改变基类方法的具体实现;但是我认为,单就这段话而言,对于重载也是成立的。首先面向对象语言要从对象的角度分析问题。重载方法的方法名肯定都是一样的。对一个对象来说,方法就是行为,行为名称一样,没有理由认为这是两种行为(否则就不是OOP了),而参数不同,只能说是同一行为进行的条件不同,但终究还是一种行为。这道题,不同的人肯定有不同的看法,我所讲的是我个人的理解,建议你博采众长。
第二题:答案(我认为是)“正确”的,但是很显然,这里是为了考察你对“重载(overload)”和“重写(override)”的理解。这段论述,用来描述重写是一点问题没有的,因为重写的意义就在于改变基类方法的具体实现;但是我认为,单就这段话而言,对于重载也是成立的。首先面向对象语言要从对象的角度分析问题。重载方法的方法名肯定都是一样的。对一个对象来说,方法就是行为,行为名称一样,没有理由认为这是两种行为(否则就不是OOP了),而参数不同,只能说是同一行为进行的条件不同,但终究还是一种行为。这道题,不同的人肯定有不同的看法,我所讲的是我个人的理解,建议你博采众长。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询