- 博客(5)
- 收藏
- 关注
原创 个人笔记5 类型转换和typeof,GetType(),is
dog3的声明类型是Dog,ani1的声明类型是Animal。所以编译器就不再报错,编译通过了、 但是装的总是会露馅啊,实际运行的时候,有一个检查的机制,会去检查ani实际指向的内存空间, 一查就发现,ani1的空间是Animal啊,不是Dog 这就是运行报错。----------这一句,叫做实例化,刚才那个a1,只是一个变量名,还没有属于自己的内存空间,后面这一句,就是给a1分配自己的内存空间,这个Dog,意思就是,分配过来的这个空间,是属于Dog的,这里面有Dog类的公共,或者构造函数所创建的东西。
2026-08-07 21:01:58
328
原创 个人笔记4 从学生管理系统理解分层架构与泛型
这里就是整个面向接口的灵魂了,接口文件,用户层的所有操作都是通过接口来调用后面写的Del部分,无法越过这些直接接触底层数据where T :People,是泛型约束,表明T必须是People或子类Boy,Girl,这样接口内部才可以安全的使用people的属性和方法void Add 声明了一个 add方法,接受一个T类型的参数item,无返回值,这里是接口,仅仅声明了这个方法,但是没有方法体,所有的方法体都在Dal<T>里面.
2026-08-07 00:46:27
450
原创 个人笔记3 与泛型约束继承相关的一道题(我感觉挺难)
因为 T 已经被指定为 User,所以它接收的参数类型就是 User。User 实现了这个接口,所以 entity 一定有 LogAction,编译器不会报错。,所以从这一刻起,这个 u1 内部所有出现 T 的地方,都会被替换成 User。因为 T 是 User,所以取到的就是 User 类的类名,输出。类,它是一个泛型类,有一个占位符 T。这是在主函数里新建一个 User 对象,名字叫 xiaom。它新建了一个 User 类型的对象,名字叫 item。继承来的,Name 是 User 自己定义的属性。
2026-08-05 09:37:41
624
原创 个人笔记 2 泛型
继承泛型接口的规则 如果类继承了一个泛型接口,必须明确指定泛型的具体类型,除非类本身也是泛型类。如果接口 B 继承接口 A,且类 C 实现了接口 B,那么类 C 必须实现接口 A 和接口 B 中声明的所有成员。where T : new() 表示 T 必须具有无参构造函数,这样可以在方法内部使用 new T() 创建实例。public class Person<T> 是 泛型类 包含一个泛型的特性,T代表的是某种类型结构(值/引用)接口的约束是 必须指定的接口或该接口的派生类才可以,接口的约束支持多个。
2026-08-04 20:51:38
230
原创 动态,静态,抽象类,接口 / 重写,重载,构造函数
类是引用类型,定义对象的蓝图。类可以包含字段、属性、方法、构造函数等成员。类支持继承,一个类只能继承一个父类,但可以实现多个接口。静态类用 修饰,不能实例化,只能通过类名直接调用。静态类内部只能包含静态成员。静态类常用于存放工具方法,比如数学计算、字符串处理等,不需要创建对象就能使用。构造函数在创建对象时自动执行,用来初始化对象的状态。构造函数的名称必须和类名相同,没有返回值。如果类没有显式定义构造函数,编译器会提供一个无参构造函数。若自己写构造函数(不论有无参),系统就不再自动生成。构造函数也可以重载,
2026-08-04 20:50:45
254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅