面向对象(三大特性--多态)

多态是强类型语言中使用是的一种特性

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;

原文地址:https://www.cnblogs.com/zl1121102942/p/5794291.html