黑马程序员技术交流社区

标题: 关于类继承的问题 [打印本页]

作者: 倚楼听雨    时间: 2014-7-30 22:41
标题: 关于类继承的问题
本帖最后由 倚楼听雨 于 2014-8-3 00:03 编辑

能够实现允许某个类被继承,但不允许其中的某个方法被覆写么?

作者: 向晓伟    时间: 2014-7-30 23:21
可以。类前加public,方法前加sealed。
默认(无virtual关键字)的方法也是不能被override的。
作者: hmid    时间: 2014-7-31 00:26
我是来碰运气拿币的。答案不知道哦。不好意思啊。:L
作者: rende1991    时间: 2014-7-31 07:28
如果访问修饰符是public 的方法,继承的类可以访问的,这个方法也可以被覆盖的,:base(参数)后,原来的方法被覆盖。
作者: 许庭洲    时间: 2014-7-31 08:18
1.类的成员声明中,可以声明与继承而来的成员名同名的成员;
2.此时派生类的成员覆盖了基类的成员;
3.这种情况下,编译器不会报告错误,但会给出一个警告;
4.对派生类的成员使用new关键字,可以关闭这个警告。
using System;
class Vehicle//定义汽车类
{
        public int wheels;//公有成员:轮子个数
        protected float weight;//保护成员;重量
        public Vehicle(){;}
        public Vehicle(int w,float g)
        {
               wheels =w;
               weight=g;
        }
        public void Speak()
       {
                Console.WriteLIne("the w vehicle is speaking!");
       }
}
class Car:Vehicl //定义轿车类
{
       int passengers;//私有成员:乘客数
      public Car(int w,float g,int p)
      {
             wheels=w;
             weight=g;
             passengers=p;
     }
    new public void Speak()
    {
           Console.WriteLine("Di-di!");
    }
}










作者: 倚楼听雨    时间: 2014-8-1 00:34
正解,谢谢,欢迎水贴,前来拿分




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2