多态是强类型语言中使用是的一种特性
C#是一种强类型语言,弱类型语言可以随意转换类型,所以不存在多态
JS就是一种弱类型语言
例如:
var a = 6;
此处a的数据类型是根据后面赋值的值的类型来确定的,后面是int型,a就是int型,后面是string类型,a 就是string类型。
封装
目的:保护类,让类更安全
做法:将成员变量变为私有,做相应的方法或属性来间接操作成员变量
函数重载:
条件:函数名相同,参数个数或者参数类型不同
构造函数:
写法:没有返回类型,函数名是类名
特点:写法特殊 执行时间特殊、
作用:在造对象的时候,对对象里面的成员进行初始化
this关键字:
this代表该对象,不是代表该类
访问修饰词:
public 公有的
protected 受保护的
private 私有的
继承:
概念:子类可以继承父类的一切
特点:单继承 一个子类只能有一个父类,一个父类可以有多个子类
base关键字
sealed关键字:密封类,该类不可被继承
部分类 partial 可以将一个类拆分成多个部分,分别放在多个文件内
namespace 命名空间 相当于虚拟文件夹
使用这个关键字来扩展类
(3)多态
一、编译多态
函数重载
二、运行多态
概念:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,在调用该方法的时候表现出的不同就称为多态
Ren r = new Ren();
子类的方法会覆盖父类的方法。
class DongWu
{
public virtual string Eat()//虚方法
{
return "该动物在吃饭";
}
}
class Dog : DongWu
{
public override string Eat()//重写
{
return "狗在吃骨头";
}
}
相当于把父类的方法修改了
条件:必须要有继承,父类引用指向子类实例,子类必须对父类的方法进行重写
里氏代换原则:如果有一个地方需要使用到父类对象,可以用子类的对象 替换它。
C#是强类型语言
弱类型语言可以随意转换类型
JS:弱类型语言
var a = 6;