虚方法

/*this,base调用构造函数
 多态 里氏替换原则 子类可以赋值给基类    基类可以把指向的对象转换为对应的子类 虚方法
 语句
 */
namespace ConsoleApplication2
{
    class Vehicle
    {
        //两个字段,属性一个构造方法
        string _brand;
        string _color;
        public string Brand
        {
            get { return _brand; }
        }
        public string Color
        {
            get { return _color; }
            set { _color = value; }
        }
        public Vehicle(string a, string b)
        {
            _brand = a;
            Color = b;
        }
        public virtual void run()
        {
            System.Console.WriteLine("我开跑了");
        }
    }
    class Truck : Vehicle
    {
        int _weight;
        public Truck(string a, string b, int c)
            : base(a, b)//调用基类的构造函数,把参数传过去
        {
            _weight = c;
        }
        public override  void run()
        {
            Console.WriteLine("拉货去了");
        }
        public int Weight
        {
            get
            {
                return _weight;
            }

        }//class
        class car : Vehicle
        {
            int _passenger;//成员默认private只能从类内部使用
            public car(string a, string b, int c)
                : base(a, b)//调用基类的构造函数,把参数传过去
            {
                _passenger = c;
            }
            public override void run()//重写后不能在调用基类run方法
            {
                base.run();//在子类的方法中调用基类的方法。
                Console.WriteLine("载客去了");
            }
            public int passenger
            {
                get
                {
                    return _passenger;
                }

            }//class
            class Program
            {
                static void Main(string[] args)
                {

                    Truck t = new Truck("东风", "绿色", 10);
                    t.run();
                    t.run();
                   car c = new car("法拉利", "绿色", 10);
                    c.run();
                    c.run();
                    Vehicle[] v = {new car("qq","红色",10),new Truck ("213","白色",6)};
                    car cre = (car)v[0];//转不成功报异常
                    Truck tre = (Truck)v[1];
                    Console.WriteLine(cre);
                    Console.WriteLine(tre);
                    //for (int i = 0; i < v.Length; i++)
                    //{
                    //    if (v[i] is Truck)//is检测是否转换成功 as类似强制转换 false时返null 不抛异常
                    //    {
                    //        Truck tru = (Truck)v[i];
                    //        tru.carry();
                    //    }
                    //    else
                    //    // car caris=(car)v[i];//嵌入的语句不能是声明或标记语句
                    //    {//语句块
                    //        car caris = (car)v[i];//表达式语句
                    //        caris.carry();
                    //    }

                    //}
                    for (int i = 0; i <v.Length; i++)//控制流语句(条件执行语句,循环语句)
                    {
                        ; //空语句
                        int a, b, e;
                        b = 1;
                        e = 3;
                        a = b + e;//嵌入语句执行动作或管理控制流的语句
                        Console.WriteLine("虚方法开始用了");
                        v[i].run();//静态方法不能用this,base 子类赋值给基类。
                       // 基类虚方法调用子类的方法
             
                        Console.WriteLine("虚方法结束用了");
                    }
                    Console.ReadKey ();
                }
            }//class Program
        }//namespace
    }
}
   

 

if(变量名 is 子类) {}

else if(变量名 is 子类) {}

else if(变量名 is 父类){} 父类的变量名is 父类 永远为true 放到最后判断 顺序重要

转载于:https://www.cnblogs.com/ggg34674/archive/2012/07/08/2581180.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码下载:完整代码,可直接运行 ;运行版本:2022a或2019b或2014a;若运行有问题,可私信博主; **仿真咨询 1 各类智能优化算法改进及应用** 生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化 **2 机器学习和深度学习方面** 卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断 **3 图像处理方面** 图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知 **4 路径规划方面** 旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化 **5 无人机应用方面** 无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配 **6 无线传感器定位及布局方面** 传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化 **7 信号处理方面** 信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化 **8 电力系统方面** 微电网优化、无功优化、配电网重构、储能配置 **9 元胞自动机方面** 交通流 人群疏散 病毒扩散 晶体生长 **10 雷达方面** 卡尔曼滤波跟踪、航迹关联、航迹融合

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值