C# 基础教程—刘铁锰 02 委托 事件 继承 多态 重写.

类–什么是类? P25 23节
— 是一种数据结构
— 是一种数据类型
— 代表世界中的“种类”

namespace _20220525_Class_Liutiemeng
{internal class Program{static void Main(string[] args){Student stu = new Student() { ID = 1, Name = "Tomiy" };Console.WriteLine(stu.ID);Console.WriteLine(stu.Name);stu.Report();Console.ReadLine();}}class Student{public int ID { get; set; }public string Name { get; set; }public void Report(){Console.WriteLine($"I'm #{ID}student,my name is {Name}.");}}
}

namespace _20220525_Class_Liutiemeng
{internal class Program{static void Main(string[] args){Student stu = new Student() { ID = 1, Name = "Tomiy" };//使用默认构造器Console.WriteLine(stu.ID);Console.WriteLine(stu.Name);stu.Report();Student2 stu2 = new Student2( 2 ,"zhangjiawei");//使用自定义的构造器Console.WriteLine(stu2.ID2);Console.WriteLine(stu2.Name2);Console.ReadKey();}}class Student // ----------ID 和 Name 使用默认构造器{public int ID { get; set; }public string Name { get; set; }public void Report(){Console.WriteLine($"I'm #{ID}student,my name is {Name}.");}}class Student2 // ----------ID 和 Name 使用自定义构造器{public Student2(int id,string name) {this.ID2 = id;this.Name2 = name;}public int ID2 { get; set; }public string Name2 { get; set; }}
}

实例构造器,实例析构器。
内存泄漏和栈溢出 是不一样的。
下面就是一个析构器

~Student(){Console.WriteLine("Bye bye!Release the system resources...");
}
Type t = typeof(Student);
object o = Activator.CreateInstance(1,"Timothy");//--------反射机制
Student stu = o as Student;dynamic stu = Activator.CreateInstance(t,1,"Timothy");//---dynamic编程
Console.WriteLine(stu.Name);
/************************** Main体中 调用 静态成员*********************/Console.WriteLine(Student2.Amount);//Main体重静态成员 无法实例化/************************** 类体中 定义 静态成员*********************/public static int Amount { get; set; } // 静态成员 无法实例static Student2(){ Amount = 100; }// 静态成员赋值

------------------------------ P26 24讲 类的声明

类是面向对象编程的核心;
我们想使用一个类,就需要先创建一个类---- 创建类 我们再C#中叫做 类的声明。
//
声明一个类
创建一个类的实例
/
/

哪里可以声明一个类
第一个:可以放在名称空间里
第二个:可以放在看似是名称空间外(实际上还是声明在全局名称空间里面)
第三个:可以放在类体里面(成员类)

声明和定义
declaration 和 definition

C#和Java 类的声明和定义是在一起的;

快捷键 ctrl shift f — 全局搜索

什么是基类 中嵌套了 泛型类。

声明一个类 少不了的三大点 : class关键字、类名字、类体。

类修饰符,是可以分组的:
new
--------按照继承关系分组--------
abstract
sealed
--------按照访问级别分组(类访问级别)--------
public
internal
--------按成员类分组--------
public
internal
private
protected
--------变成静态类 加上 static

回头讲到类的派生和继承,再去着重的讲一下类的修饰符。

快捷键 查看程序函数后退 ctrl + - 【ctrl & 减号】

------------------------------ P27 25讲 今天讲的是继承

面向对象编程,最显著的三个特征 : 封装继承和多态(多态又是基于继承的)

baseclass – 基类

沟通的术语:
//
基类 和 派生类 是一对儿---------- Basedclass and Derived class
/
/
父类 和 子类 是一对儿 ------------ Parent class and child class

可以横向类比: 基类相当于父类; 派生类相当于子类;

三个相关的 知识点
知识点1 —sealed 修饰一下类 – 变成了封闭类

知识点2—C#中一个类只能有一个基类(但是 以后学基接口 就不太一样)。
知识点3---- 子类的访问级别,不能超过父类 ,可以和父类访问级别一致,也可以访问级别更低。
*
补充说明:internal 修饰符 把类的访问级别限制在同一个程序集里面。
private修饰符 把类的访问级别限制在同一个程序集里面的类体里面
父类里面有时候不写private 这个修饰符,在没有写 public和 internal的时候,默认就是private,这是为了数据的安全性。


继承是什么呢?
继承的本质:派生类 在基类已有的成员基础之上,对基类进行的横向和纵向上的扩展。

横向扩展—类的成员个数的扩充,只会越来越多
纵向扩展—对类成员的版本进行扩充,类成员的重写【技术术语:重写】

再次说一下快捷键 :
F12 查看函数定义
Ctrl - 退回原函数


protected这个修饰符 放在父类中,派生类无法访问这个成员

2022年5月22日【Jiawei_Z】C# 基础教程---刘铁锰 02 委托 事件 继承相关推荐

  1. 周计划周记录:2022年5月16日-2022年5月22日

    1. 一周醒言 规则只是用来约束普通人,对有权有势的人是没有用的.这个社会上,游戏规则就是这样的,轮不到你不玩. 其实受委屈和挨骂也是工作的一部分.没有本事就不要装清高,没有物质想要生存下去就要受委屈 ...

  2. 2022年8月22日上午七点CKA考试界面改动exe软件答题

    2022年8月22日上午七点CKA考试界面改动成exe软件答题 CKA认证我看知乎和csdn以前的帖子受益很多,为自己备考打下了基础,所以决定把自己看到的改动分享出来 先来直接说改动: 以前是在自己的 ...

  3. 一生二、二生三,2022年2月22日将成为中国首届客户节

    一生二.二生三,三生万物.2022年2月22日(农历正月二十二)星期二,将迎来人类有公元纪元历史以来"2"最多的一天. "2"是大地,孕育万物,22是天使之数. ...

  4. 2022年3月14日蓝桥杯基础算法能力测试

    最晚提交时间,3月15日晚22:00,过时无法提交. 今晚上没交ppt和开班会的正常进行.明天你们至少一个上午或下午没有课,可以做.做完下面有提交地址.认真做,不要去百度,没啥难的. A.哪天返回(基 ...

  5. 2022年7月22日,记录我的第一篇博客

    大家好,我是艾克雄. 我是2018年上的大学,机械设计制造及其自动化专业,2022年毕业,从事硬件开发工作.转眼间已经离开学校快一个月了,时光飞逝,感慨万千. 工作查资料之余,看到CSDN和知乎上一些 ...

  6. 小重山 2022年4月22日

    夜来风雨写张狂,月明总被云妨,过回廊. 新歌还是旧诗行,共孤光,何须温柔乡. 十年行路忙.也言能定海,面灰黄. 人生际遇半参商,终不过,浮游自无双.

  7. 【无标题】2022年10月22日 20点 程序爱生活 纳指和恒指反弹的概率还在,但是反弹做空为主。敏感因子第一次出现折价缩小,或许春天不太远,还需要观察!

    确定市场形态的敏感因子 - 第一次折价不再扩大  结论:市场进入了有部分资金看多的情况,趋势有点不同了,但是也要继续观察是否折价会持续缩小,现在判断可能还是有点早. 但是的确是一个好消息. 我感觉最有 ...

  8. pmp每日三题(2022年2月22日)

    今日三题答案-DBC 1.客户申请破产,项目在完工前结束.项目经理应首先在最终项目报告中包含什么文件? A. 经验教训 B. 将未完成的可交付成果文件转移给运营小组 C. 项目绩效报告 D. 项目终止 ...

  9. 2022年5月22日-Taylor级数的python实验

    Taylor级数的python实验 引言 众所周知,对于任意一个函数,我们可以选用一组基函数拟合这个函数.什么,你不知道!好吧,没有关系,这是一个很简单的东西,相信在我的解释下,你很快就懂了! 泰勒级 ...

最新文章

  1. 云计算正在告别DIY时代 阿里云专有云挑起企业级市场大梁
  2. 俄罗斯网络安全治理及其启示
  3. php register_shutdown_function
  4. ASP.NET文件上传和下载
  5. nginx+tomcat实现主备切换
  6. 一行代码搞定 Scrapy 随机 User-Agent 设置
  7. 每列大于0的个数_题目1342——把一个数字减少到0的步骤数
  8. 字符数组和字符串的小细节
  9. mvc分页生成静态页,mvc生成静态页
  10. python 写csv scrapy_Python神技能 | 使用爬虫获取汽车之家全车型数据
  11. 将Visual Studio更新到最新版本
  12. 华为交换机debug icmp数据包
  13. 利用dlib和opencv建立人脸识别数据集并进行人脸识别
  14. 旷世英才遭天妒——拉马努金
  15. 第七届高教杯计算机绘图,第七届”高教杯“全国大学生先进成图技术与产品信息建模创新大赛机械类计算机绘图试卷.pdf...
  16. 组装一台电脑需要哪些基本配件?
  17. 富爸爸系列2—财务自由之路
  18. UC伯克利教授Stuart Russell人工智能基础概念与34个误区 (公号回复“AI基础概念”可下载PDF资料)
  19. [RoarCTF2019]polyre
  20. 问题:The given artifact contains a string literal with a package reference 'andro

热门文章

  1. 【总结】1457- 网页动画的十二原则
  2. PLSQL_自治事务和嵌套事物的理解和用法(案例)
  3. 找出数组中第k大和第m大的数字之和
  4. superIO通过PS2接口扩展键盘
  5. oculus设备VR漫游
  6. 财政部将加强金融企业财务管理
  7. asio(三)、bind
  8. 使用计算机来进行翻译是,利用计算机进行中英文翻译的探讨
  9. 关系数据库设计---练习题
  10. CISA必修列表未收录数十个已遭利用漏洞