zoukankan      html  css  js  c++  java
  • C#Protected和多态(虚方法)

    Protected 在基类中定义后,能被派生类调用,但是不能被其他类调用。

    virtual 在基类中定义后,在派生类中能被重写。

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace 继承
    {
        class Vertebrate
        {
            protected string spine;//受保护的字段
            private double weigth;
            private double temperature;
            public double Weigth
            {
                set
                {
                    if (value < 0)
                    {
                        weigth = 0;
                    }
                    else
                    {
                        weigth = value;
                    }
                }
                get { return weigth; }
            }
            public double Temperature
            {
                set
                {
                    if (value < 0)
                    {
                        temperature = 0;
                    }
                    else
                    {
                        temperature = value;
                    }
                }
                get { return temperature; }
            }
            public Vertebrate()
            {
                spine = "脊柱";
                weigth = 0;
                temperature = 0;
            }
            public virtual  void Breate() //虚方法
            {
                Console.WriteLine("呼吸");
            }
            public void Sleep()
            {
                Console.WriteLine("睡觉");
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace 继承
    {
        class Program
        {
            static void Main(string[] args)
            {
                Vertebrate vertebrate = new Vertebrate();
                vertebrate.spine1 = "脊柱"; //public的就能被直接调用
                Mammal mammal = new Mammal();
                Fish fish = new Fish();
                Animal animal = new Animal();
                Console.WriteLine("我是一只哺乳动物");
                mammal.Scukle();
                animal.Breate();
                mammal.Breate();
                fish.Breate();
                mammal.Sleep();
                mammal.Message();
            }
        }
        class Fish : Vertebrate
        {
            public override void Breate()//重写基类中的虚方法
            {
                Console.WriteLine("用鳃呼吸");
            }
        }
        class Animal : Vertebrate
        {
    
        }
        class Mammal : Vertebrate//派生类:基类
        {
            private string arms;
            private string legs;
            private int age;
            public int Age
            {
                set { age = value; }
                get { return age; }
            }
            public Mammal()
            {
                arms = "前肢";
                legs = "后肢";
                Age = 0;
                Weigth = 10;
                Temperature = 37;
            }
            public void Scukle()
            {
                Console.WriteLine("哺乳");
            }
            public override void Breate()
            {
                Console.WriteLine("用肺呼吸");
            }
            public void Message()
            {
                Console.WriteLine("体重:{0}", Weigth);
                Console.WriteLine("年龄:{0}", Age);
                Console.WriteLine("体温:{0}", Temperature);
                Console.WriteLine("我有{0}和{1}", arms, legs);
            }
        }
    }
  • 相关阅读:
    漫画 | 一台Linux服务器最多能支撑多少个TCP连接?
    frida hook pthread_create
    mac搜索so中的字符串
    字节字符串和数字互转
    twsited使用延迟项,并发量限制
    常见汇编指令和EFLAGS寄存器对应位的含义
    scrapy设置cookie的三种方式
    G1GC 读书笔记
    SLF4J 适配图
    支付宝和微信提现有办法免费了!
  • 原文地址:https://www.cnblogs.com/BruceKing/p/12068053.html
Copyright © 2011-2022 走看看