- 
            
            重载运算符  查看全部 查看全部
- 
            
            virtual:虚方法 使用override进行重写 查看全部
- 
            
             事件触发 ,事件发布() 事件触发 ,事件发布() 查看全部 查看全部
- 
            
            事 件 事件发布者:通知某件事件发生的,就是发布者 事件订阅者:对某件事件关注的,就是订阅者 事件行为:触发和注册 事件发生时,会通知所有关注该事件的订阅者---调用订阅者(对象)的注册函数【注册,告诉发布者调用哪一个注册函数】 想在事件发生时被通知,必须注册表示关注 事件订阅: 事件名称+=方法1 事件名称-=方法2 【方法可以是,实例方法,静态方法,匿名方法、Lambada表达式】   查看全部 查看全部
- 
            
            运算符  查看全部 查看全部
- 
            
            class Program { static void Main(string[] args) { Pet d = new Dog(); Cat c = new Cat(); Pet p = new Pet(); p.name = "父亲"; d.name = "大黄"; c.name = "咪咪"; p.dw(); d.dw(); c.dw(); } } public class Pet { public string name; public void dw() { Console.WriteLine("动物名称"+name); } }; public class Dog : Pet { new public void dw() { Console.WriteLine("狗狗名称" + name); } }; public class Cat : Pet { }; 具体调用那个方法根据赋值对象前的引用对象决定。 查看全部
- 
            
             隐藏方法 查看全部
- 
            
            这是一堂比较重点的课程,学习后可继续复习 查看全部
- 
            
            注意public不要漏掉 查看全部
- 
            
            virtual override 虚方法和多态 查看全部
- 
            
            通过new关键字屏蔽基类中的方法,从新定义方法 查看全部
- 
            
            自然界一切皆对象,易维护,易开发,易扩展 查看全部
- 
            
            封装,集成,多态 查看全部
- 
            
             abstract 不能有函数体 查看全部
- 
            
            如图屏蔽了pet类printname方法  查看全部 查看全部
- 
            
            隐藏方法 隐藏基类的方法  查看全部 查看全部
- 
            
            namespace projGetMaxScore 
 {
 public class Pet:Object//默认继承Object,可以省略不写
 {
 public Pet(string name)
 {
 _name = name;
 }
 protected string _name;//保护的,派生类才能访问
 virtual public void Printname()
 {
 Console.WriteLine("Pet's name is "+ _name);
 }
 }
 public class Dog:Pet{
 public Dog(string name):base(name)//引用基类默认值
 {
 }
 }
 public class Cat:Pet {
 public Cat(string name):base(name)
 {
 }
 override public void Printname()//隐藏继承方法
 {
 Console.WriteLine("宠物的名字是 "+ _name);
 }
 }
 class Program
 {
 static void Main(string[] args)
 {
 Pet[] pets=new Pet[]{new Dog("jack"),new Cat("tom")};
 for(int i=0;i<pets.Length;i++)
 pets[i].Printname();
 
 }
 }
 }查看全部
- 
            
            通过指向派生类的基类引用,我们仅仅能访问派生类的基类部分。 
 Pet cat=new Cat();
 cat.PrintName();//调用的是基类中的PrintName方法
 但是如果是virtual和override情况下,会先在Pet中看到是虚方法,然后就去派生类中找有没有重写方法,调用重写过的方法查看全部
- 
            
            接口  查看全部 查看全部
- 
            
            密闭方法  查看全部 查看全部
- 
            
            为什么需要密闭  查看全部 查看全部
- 
            
             抽象类 查看全部
举报
 
             
         
                 
                 
                 
                 
                