撒花~第二季学完了~收货很大!
撒花~第二季学完了~收货很大!
右边是父类 左边是子类
enemy = new Boss(50,50,50);//但enemy.BossSkill()用不了
//enemy = new EnemyType1();
Boss c;
//不能这么设置c = new Enemy();
Enemy enemyboss = new Boss(11, 44, 55);
enemyboss.Move();//用的是boss的move方法,这是虚方法重写Move
enemyboss.AI();//用的是enemy的move方法,这是隐藏方法重写AI
emey
boss
t
protected
protected
console
this.speed = speed
this 的作用 访问类的对象
base 访问父类的成员
procted
静态函数只能使用静态数据。也就是只能使用静态变量。
C# 中可以申明静态类
静态类中只能包含静态成员。
静态类不需要实例化对象。可以直接使用类进行调用。
静态类的使用场景:
1、 公共场景。
栈(商店)
堆(仓库)
栈: 后进先出
数据只能从栈的顶端插入和删除
入栈(存入) | 出栈(删除)
C# 的接口定义: 使用interface关键字进行修饰。
接口不包含数据成员。
接口的方法不能私有, 默认使用public进行修饰。
类型包括:值类型 、引用类型
值类型:数值类型、boor、结构体(struct)
char,枚举类型(enum)
引用类型:string、数组、类
值类型存放在栈中
不完整的模板 称为抽象类
接口可以继承接口,
实现了继承其他接口的接口时 必须实现继承的所有接口的方法。
类可以实现多个接口。
自动生成构造函数:
在存储内存的时候,值类型的会存在栈中
引用类型会先存放在静态存储区,然后将地址存放在栈中,最后内容存放在堆中j
DrivedClass dc = new DrivedClass():base()
base()调用父类
mfsdmffmlfmalasmd
类的修饰符
public class 前者可以在别的项目访问 后者不行
子类的权限不能高于父类
静态的
static 静态函数
静态类 public static int count
静态成员既可以通过类访问 又可以通过对象类访问
静态是放在静态存储区里的
静态函数只能使用静态数据
字符串是引用类型的,存储的时候会把地址存放在栈中,内容先存放在静态存储区中,在对字符串进行2次赋值(修改)时,静态存储区会先存放新的内容,只是修改字符串的地址,最后存入堆
当对2个字符串进行赋值的时候先把地址存入栈,将内容存入静态存储区然后他们的地址相同
console.writeline(index)
int temp = t[]
private string[] name new string[10]
构造函数
string[] name = new string[10]
int i = 0
foreach(string temp in days){
uf
}
p
public int this[string day]
{
}
对象引用
将一个类赋值给一个新定义的类
Customer c2= c1;
but这样有一个bug,因为c1、c2的地址相同,修改了他们任何一个彼此都会改变
c1=null;
c1的地址会清空,c1原来的地址所指向的内容如果没有对象在引用的情况下,系统会自动释放空间
console.writeline(s1=s2)
ture
public static bool operator ==()