2022-04-04

下午多看了一集电视剧,和老一辈的程序员没法比,他们都用命令行来写程序,每周工作70个小时,直接睡车库里,就是工作狂魔,效率拉满。

C#:知识点

修饰访问符:

public 公共公开

private 私有的,只有在类的内部访问

protected 受保护的只有在当前类的内部以及该类的子类中访问。

internal:只能在当前项目中访问。

修饰类的访问修饰符只有两个:

internal:只能在当前项目中访问

public:需要添加引用 与 命名空间可以使用其他项目中的类

子类的访问权限不能高于父类的访问权限

设计模式:简单工厂模式

值类型与引用类型的传递: 值类型(存放在栈中):n1 =10 n2 =n1 n2=20 此时 n1的值不变    引用类型(存放在堆中):string s1="张三“  string s2=s1  s2 = "李四” ---s1的值不变还是张三,字符串不可变性 

值类型:int  touble char decimal bool enum struct

引用类型:string 数组 自定义类 集合 object 接口

序列化:将对象转换为二进制

反序列化[Serializable]:将二进制转换为对象,BinaryFormatter bf = new BinaryFormatter(); bg.Serialize(fsWrite,object)

部分类:class 之前加上 partial,本质上是一个类写在了不同的地方

密封类:class 之前加上 sealed ,密封类 无法被继承,但是可以继承其他类

重写object内置方法:不重写tostring,打印的是对象的命名空间,

public override void Equals(object obj) 

public override void GetHashCode(object obj) 

public override void Tostring(object obj) 

接口:public interface IFlyable 接口就是一个规范,能力。接口中的成员不允许添加访问修饰符,默认就是public,不允许写方法体,不包含字段,只能有方法  ,接口与接口之间可以有多继承,接口不能去继承类。

自动属性与普通属性的区别:自动属性会在编译时自动生成字段

什么时候使用虚方法来实现多态?

什么时候使用抽象类来实现多态?

什么时候用接口来实现多态?

//-----------------基础复习-----------------------

new 关键字1.创建对象2.隐藏从父类那里继承过来的成员

常用关键字:this base(父类的成员) new virtual abstract override interface partial(部分类) sealed(密封类) return break continue static struct enum const

虚方法在父类中必须有实现,哪怕是空实现(只有大括号)

override 必须要和父类的方法有相同的签名,即相同方法名和参数类型,数量

抽象方法必须在抽象类中,但抽象类可以有字段和方法给子类继承用,子类要将抽象类中的抽象成员重写,抽象类无法实例化,无法使用static标记

与字段不同的是,属性不指明存储位置。

你可能感兴趣的:(2022-04-04)