• 第一次写博


      大家好,我是一名学生,新来到博客园这个大家庭,日后还请多多关照。

      来到博客园,我想更多学习关于编程的知识。我主要学习C#,往UWP方向发展。所以整个博客更多的是关于微软的博文。

       因为每天都很忙,所以写博时间不能太长。

      尽可能的多代码。就这样。2015-12-08

      从去年就开始跟着传智播客的老赵,赵剑宇老师学习C#基础,尽管进程很慢但是坚持了下来。从今往后每天的学习进度都会在这里跟进,希望大家监督。

      我的近期目标就是将我暑期用App Studio做的“鲸鱼”进行一次大改版。就这样。

    今天学到了多态的虚方法2015-12-08

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace P28多态之虚方法
    {
        class Program
        {
            static void Main(string[] args)
            {
                //概念 让对象能够表现出多种状态(类型)
                //实现多态的三种手段:1、虚方法。2、抽象类。3、接口。
                
                Chinese cn1 = new Chinese("韩梅梅",18,'女');
                Chinese cn2 = new Chinese("李雷", 29, '男');
                Japanese j1 = new Japanese("树下君", 23);
                Japanese j2 = new Japanese("井边子", 24);
                Korea k1 = new Korea("金秀贤", 34);
                Korea k2 = new Korea("车贤惠", 43);
                American a1 = new American("科比布莱恩特", 34);
                American a2 = new American("奥尼尔", 45);
                Person[] prs = { cn1, cn2, j1, j2, k1, k2, a1, a2 };
                for (int i = 0; i < prs.Length; i++)
                {
                    //if(prs[i] is Chinese)
                    //{
                    //    ((Chinese)prs[i]).SayHello();
                    //}
                    //else if(prs[i] is Japanese)
                    //{
                    //    ((Japanese)prs[i]).SayHello();
                    //}
                    //else if (prs[i] is Korea)
                    //{
                    //    ((Korea)prs[i]).SayHello();
                    //}
                    //else if (prs[i] is American)
                    //{
                    //    ((American)prs[i]).SayHello();
                    //}
                    prs[i].SayHello();
                }
                //首先将父类的方法标记为虚方法 使用关键字 virtual  可以被子类从新写一遍
                Console.ReadKey();
            }
        }
        public class Person
        {
            private string _name;
            public string Name
            {
                get { return _name; }
                set { _name = value; }
            }
            private int _age;
            public int Age
            {
                get
                { return _age; }
                set { _age = value; }
            }
            public Person(string name,int age)
            {
                this.Name = name;
                this.Age = age;
            }
            public virtual void SayHello()
            {
                Console.WriteLine("你好,我是人类");
            }
            
        }
        public class Chinese:Person
        {
            private char _gender;
            public char Gender
            {
                get { return _gender; }
                set { _gender = value; }
            }
            public Chinese(string name,int age,char gender)
                :base(name,age)
            {
                this.Gender=gender;
            }
            public override void SayHello()
            {
                Console.WriteLine("我是中国人!我叫{0}",this.Name);
            }
    
        }
        public class Japanese:Person
        {
            public Japanese(string name,int age)
                :base(name,age)
            {
    
            }
            public override void SayHello()
            {
                Console.WriteLine("我是脚盆人我叫{0}",this.Name);
            }
        }
        public class Korea:Person
        {
            public Korea(string name,int age)
                :base(name,age)
            {
    
            }
            public override void SayHello()
            {
                Console.WriteLine("我是棒子,我叫{0}", this.Name);
            }
        }
        public class American:Person
        {
            public American(string name,int age)
                :base(name,age)
            {
    
            }
            public override void SayHello()
            {
                Console.WriteLine("我是美国佬,我叫{0}", this.Name);
            }
        }
    }
    

      

  • 相关阅读:
    数据倾斜原理及解决方案
    删除emp_no重复的记录,只保留最小的id对应的记录
    理解HBase面向列存储
    给数据库用户授权(对象多为系统表,如dba可以查看的表)
    SpringBoot里的一些注解
    01背包
    【转】简说GNU, GCC and MinGW (Lu Hongling)
    费马小定理
    欧拉定理
    【转】C中的静态存储区和动态存储区
  • 原文地址:https://www.cnblogs.com/-SANG/p/5031086.html
Copyright © 2020-2023  润新知