C# 第四次作业

这节课老师首先介绍了structs 和class 的区别

1. Structs are value types.
2.
Structs can be instantiated without using a new operator.
Structs can declare constructors, but they must take parameters, can not declare default constructor-compiler will provide one & no Destructor.
3.
A struct cannot inherit from another struct or class, and it cannot be the base of a class. It only inherit from the base class Object. A struct can implement interfaces.
4.
Within a struct declaration, fields cannot be initialized unless they are declared as const or static.

定义strcts的格式如下▼

然后我自己试了一下定义struct▼

然后老师为我们讲解了interface:

1. An interface is a contract that guarantees to a client how a class or struct will behave.

2. When a class implements an interface, it tells any potential client “I guarantee I’ll support all the methods, properties, events, and indexers of the named interface.”

3. These contracts are made manifest(表明) using the interface keyword, which declares a reference type that encapsulates the contract.

定义interface的格式如下▼

我也尝试着自己定义了一个interface▼

之后老师辨别了Abstract Class, Interface 和 Mix-Ins

1. An interface offers an alternative to an abstract class for creating contracts among classes and their clients.

2. The difference is that abstract classes serve as the top of an inheritance hierarchy, where as interfaces may add their contract to numerous inheritance trees.

然后我创建了一个类去继承这个接口▼

而如果是多个接口直接罗列在后面就好了,不过值得注意的是每个接口在继承时都要被定义。

而我们也可以在接口与接口中继承,这个比较宽泛,可以一对一也可以多对一。

时间: 2024-11-10 21:10:40

C# 第四次作业的相关文章

04+罗潇潇+罗潇第四次作业

04+罗潇潇+罗潇第四次作业 1.项目整体管理的过程 (1)项目启动,制定章程 (2)制定初步的项目范围说明书. (3)制定项目管理计划 (4)指导和管理项目执行 (5)监督和控制项目 (6)整体变更 (7)项目收尾 2.项目启动就是以书面的.正式的形式肯定项目的成立与存在,同时以书面正式的形式为项目经理进行授权.项目章程应当由项目组织以外的项目发起人发布,若项目为本组织开发也可以由投资人发布. 3.项目章程包括: (1)基于项目干系人的需求和期望提出的要求. (2)项目必须满足的业务要求和产品

软件工程(第四次作业)

第四次作业 题目: 1. 敏捷开发是在什么样的背景下产生的?其主要特点有哪些?什么时候选择敏捷开发更恰当,为什么? 2. Code smell 是如何产生的?有哪些典型的 code smell?代码重构(Code refactoring)有哪些优点?有哪些代码重构的方法? 答:1(1)敏捷开发的背景: 所谓敏捷开发是以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言

软件工程第四次作业——团队作业

软件工程第四次作业--团队作业 本次作业采用团队作业的方式,我的队友是我的同班同学,他们分别为:(队长)亢健强,贾猛,黄明帅,黄珂锐.我们团队的总体任务是要做一个"乐谱识别与演奏"的软件,拍摄一张乐谱图片,它会使用光学识别转换成音乐. 此次团队作业中我得任务主要是做需求调研,为此我先总结了一下常用的需求调研方法的优缺点,然后结合我们团队的实际情况选出了一种最适合我们的调研方法. 调研方法 优 点 缺 点 实地观察法 调查者在实地通过观察获得直接的.真实可靠的第一手资料 有一定的偶然性,

<第四次作业查阅>hashmap由value找key的算法

问题:不同于第三次作业,第三次作业是按照key的值排序输出,第四次作业则是要求按照频率(hashmap的value值)排序,然后输出key的值,最开始的想法是还是沿用第三次作业的做法,想着查询一下怎么从value反得到key的值,最后发现这种做法不仅麻烦,而且效率特别低,也给了我启示,由于key-value对可能出现多对一的情况,所以由key的value比较容易高效,但是反之的效率就比较低,应该尽量能够避免试图通过value得key. Map中是一个key有且只有一个value. 但是一个val

结对作业(软件工程第四次作业)

软件工程第四次作业---代码审查 一.partner 结对伙伴:林路 代码链接:coding 二.代码审查表 功能模块名称 简单的语法分析程序 审查人 王灵杰 审查日期 2018.4.6 代码名称 简单的语法分析程序 代码作者 林路 文件结构 重要性 审查项 结论 头文件和定义文件的名称是否合理? 合理 头文件和定义文件的目录结构是否合理? 合理 版权和版本声明是否完整? 不完整 重要 头文件是否使用了 ifndef/define/endif 预处理块? 没有 头文件中是否只存放"声明"

第四次作业——04树

第四次作业--树 一.学习总结 树的思维结构图 2.对于树学习总结 ⑴.树结构认识:树是一种非线性结构,每个节点有0个或多个后继节点,有且仅有一个前驱节点(根节点除外).在树中,递归方法可以放在考虑的首要位置 ⑵.学习这个结构遇到的困难:递归调用不会很清晰,代码量大,较难记忆. ⑶.树结构可以解决的问题:并查集问题 哈夫曼编码的问题. 二.6-1 二叉树操作集 1.设计思路 void CreateBTree(BTree &BT,string str){ 创建一个树T 定义一个i来计数 创建一个队

第四次作业总结与心得

一. 知识点总结:1.char 字符类型的定义 2.输入getchar,输出putchar 3.逻辑运算:逻辑与&&,逻辑或||,逻辑非| 4.两类分支结构:二分支结构,多分支结构 5.条件语句:if语句,switch语句 二.实验过程中遇到的问题及解决方法: 1.在使用switch语句时忘记使用break语句,应该在switch语句的每个语句段中都使用break语句 2.注意if与else的对应关系,else总是与它上面最近的if配对,若if与else的数目不一致,可以加{}来确定配对关

第四次作业——个人作业——软件案例分析

一.调研,评测 1.评测:对于这一部分我并没有发现什么bug,想来也是,毕竟该款软件已经发布了这么久,要是有bug早已被发现和修正了.就算现在有的话,以我目前的使用我是察觉不出来了,因为在此次作业之前用的也不是该款英语软件,我都是用“有道词典”. 而我测试该软件的平台是Windows7,软件版本:必应词典3.5.0,没有发现BUG. 2.调研:我所调查的用户对象都是在校的本科生,他们使用英语软件的目的有考四六级.看英语文章.检查代码运行报错原因等:他们本来也不知道“必应词典”该款软件,直到我要求

PHP第四天作业:可变变量的首次应用

今天作业第五题: 5.由数字1.2.3.4能组成多少个不重复的 3位数字,要求一个数中不能有重复出现的数字. 这道题一上手的第一时间就是用for循环遍历所有可能性,并且找出符合条件的元素. 那么代码就不详解了,基本都会: for($s1=1;$s1<5;$s1++){ for($s2=1;$s2<5;$s2++){ for($s3=1;$s3<5;$s3++){ if($s1!=$s2&&$s1!=$s3&&$s2!=$s3){ echo $s1,$s2,

读书笔记(十四)——作业的知识点与注意事项

1. SQL Server 代理中包含很多的类别,有作业.警报.操作员.代理等,作业属于其中的一个类别 1. 用自动化数据备份来介绍作业的具体运用规则 ①用命令符启用sqlserveragent ②添加作业的类别,明确进行作业的任务 EXEC msdb.dbo.sp_add_category @class = 'JOB'--添加对象的类别,如:作业.报警 ,@name = 'ct_药房管理系统_Maintain'; ---设置类别的名字 ③添加作业(包括名字.任务,所属的类别) EXEC msd