使用虚方法实现多态 namespace _0706 { class Program { static void Main(string[] args) { //这个时候调用的是父类的方法 Person p = new Person(); Person p1 = new American();//这个时候调用的是American里面的方法 p.SayNationality(); //Person p1 = new Japanese(); Person[] pers = ]; pers[] = ne…
一.虚方法实现多态 1,创建一个people基类 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 继承之抽象类 { public class people { public virtual void SayHi()//定义一个SayHi的虚方法 { } } } 2.创建两个子类Student.cs和Teacher.cs继承基类people using S…
1.继承(1)创建子类对象的时候,在子类对象中会为子类对象的字段开辟空间,也会为父类的所有字段开辟空间,只不过父类私有的成员访问不到(2)子类从父类继承父类所有的非私有成员,但是父类的所有字段也会创建,只不过父类私有的成员访问不到(3)base关键字可以调用父类的非私有成员(4)子类的访问级别不能比父类高,原因是访问子类的同时也访问了父类,如果子类的访问级别不能比父类高,就矛盾了(5)创建子类的时候,会先调用子类的构造函数,然后调用父类的构造函数,然后执行父类的构造函数,最后再执行子类的构造函数…
1.虚方法提供一种默认实现,子类可以选择是否重写,如果不重写,那么就使用父类已经实现的方法.(重写可以改变方法的指针) 如果需要改变类型指针,那么需要做方法的重写: 1.如果子类方法是重写方法,那么系统会扫描父类方法中,有没有相同签名的可重写方法,如果没有就报错. 2.如果父类方法是虚方法,那么子类可以选择是否重写,如果重写,就会调用子类的重写方法,实现多态:如果没有重写,就会使用父类已经实现的方法. 3.实现多态需要实现方法的重写 3.实现重写得实现类的继承 多态的使用:申明父类变量,实例化子…
抽象类不能用来实例化对象 1.抽象类中可以有实例成员,也可以有抽象成员 2.抽象成员不能有任何实现 3.抽象类.抽象成员必须包含在抽象类中 4.抽象类不能用来实例化对象,既然抽象类不能被实例化,那么抽象类的作用就是用来被继承的,继承的主要目的就是用来实现多态 5.抽象成员子类继承以后必须“重写”,override,除非子类也是个抽象类 namespace 抽象类实现多态案例 { class Class1 { static void Main(string[] args) { //例子一 Anim…
一.列表 1.1列表:python基础数据类型之一:其他语言也有列表的概念,js 数组,可索引 ,可切片,可加步长 1.2列表的索引,切片,切片+ 步长 结果: 注意:列表里元素的数据类型,就是它本身的属性 二.列表的索引,切片,切片+步长 li = ['alex', 100, True, [1, 2, 3], {'name': '太白'}, (22, 33)] print(li[:4]) # 切片也是顾头不顾腚的原则 print(li[::2]) print(li[-1:-4:-2]) pri…
数组对于每一门编程语言都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同.Java语言中提供的数组是用来存储固定大小的同类型元素.你可以声明一个数组变量,如 int[100] 来代替直接声明 100 个独立变量 int0,int1,....,int99.数组的元素是通过索引访问的.数组索引从 0 开始,所以索引值从 0 到 array.length-1. 声明数组变量 数组作为对象允许使用new关键字进行内存分配.在使用数组之前,必须首先定义数组变量所属的类型,即声明数组.声明数组…
数组与方法 一.完成的目标 1. 掌握数组的定义.使用方法.引用传递 2. 掌握方法及其方法的重载 3. 使用方法接收和返回一个数组 4. java新特性对数组的操作支持 二.数组的定义和使用 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组可以分为一维数组.二维数组.多维数组. 一维数组一维数组可以存放很多数据,这些数据的类型是完全相同的.使用Java数组必须经过两个步骤:声明数组.分配内存给数组. 数据类型 数组名 [] = null; //声明一维数组 也可以使用如下声明:…
/*------------------------------------------------------------------------------+ #| = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : = : | #|{>/------------------------------------------------------------------------\<}| #|:…
$('body > div').css("background","#bbffaa"); //和children()方法是等价的,父子关系,和parent()方法是对立的 $('body').children('div').css("background","#bbffaa"); 和$('body > div')是等价的 $('body').children().css("background"…