TJU_SCS_C#学习笔记(3)

一.课堂内容

  这周的课讲了chapter4&chapter5的一些内容,关于class和objects,以及inheritance和polymorphism。C#中的这些概念和C++,JAVA这些同为OOP的编程语言中的概念有些类似,但是具体上还是有着一些区别,由于之前学过C++,JAVA中的类和实力,继承与多态的概念,所以学习起来还算比较熟悉,但是精髓的想法以及细节上的处理还是需要话更多更多的时间来联系熟悉融会贯通。

二.学习内容

  1.首先做了关于class中this指针的相关联系,PPT中提到了this指针的5个用法,我也上网搜了一些关于C#中this指针的用法,基本与PPT中所讲的没有区别。一下是PPT中的第二个用法的练习,关于passing the current object as a parameter to a method:

这个比较好理解,在C++,JAVA中做过相似的联系。

  接下来是PPT中的第四种用法,to call a overloaded constructor from anthor:

这个在之前的学习中没有遇到过这样的用法,有点类似于initialization。

  2.接下来是对Using statement的学习,这个东西好像很神奇的样子,表示一直都没有见过这样的用法,于是我上网搜了一下

大致和PPT类似,章老师讲的也非常的清楚,大概是关于一个变量的存活问题,规定了变量存活的区域之类的,在末尾自动释放。

于是我想按照PPT以及网上的指导进行一下练习,但是结果如下:

这里我也不知道是什么原因,Font关键字应该属于System.Drawing的命名空间,我已经申明过来,为什么还是没有能找到呢?

  3.然后关于在把变量作为参数传进method的时候,by value还是by reference的问题,C#中与以往的学习略不同,就是关键字ref和out,章老师说这两个关键词只有细微的差别,具有相似的功能,都能实现保留method对传入变量的改变。我很想知道ref和out有什么区别,于是

这么大一段话,其实我就比较理解其中关于初始化要求的那一条,关于返回多个值为什么out就比ref合适呢...后面的就更加看不懂了= =

  4.之后是get和set关键字,首先这个以前没接触过,其次不知道为什么总感觉这个有点高端,不大好理解,于是我依葫芦画瓢做了下面的练习:

说实话,我其实还是不太明白get和set的精髓,或者说不太明白他们到底要用在那里,我只能在搜一些相关的资料:

所以说get和set的存在,让数据的维护变得方便安全吧?实在类中对变量进行操作而不是直接对类的变量进行操作把?

  5.在多态的学习中,我有对abstract类进行了相关的练习。abstract class无法实例化,只是纯用来被作为父类的。如下练习所示:

这边的练习也用的上文的get和set的关键字。只能说加深了我对多态以及abstract类的理解吧,多态的概念还是得花很长的时间才能真真的理解。

  6.关于operator overloading,由于在C++的课程学习中有一次project着重了对运算符重载的练习,我看PPT内容与C++的运算符重载大致相似,于是没有进行练习,只是找了一些相关的代码看了一下。

  7.关于windows phone的练习,我的vs开不出模板,不知道是什么问题,也许是hyper-V的问题吧?

 

三.课后感想

  感到学习的内容越来越深入,希望自己能更好地理解C#,毕竟现在还只是接触了皮毛,还有很长的路要走,Go ahead!

时间: 2024-07-31 16:52:34

TJU_SCS_C#学习笔记(3)的相关文章

TJU_SCS_C#学习笔记(4)

一.课堂内容 这周的课讲的内容比较多,有struct结构体,interface接口,以及C#数组中的一些特性,比如特殊的多维数组的声明方式,以及不规则数组还有模版,堆栈,字典等等,还有字符串string以及正则表达式的一些内容. 二.学习内容 1.首先练习了关于接口的相关内容,以前在学C++,和JAVA的时候对接口都没有好好理解,在C#的课上才明白了到底什么是接口,接口和抽象类有点类似,两者均不可实例化,均可以被继承,然而抽象类只能被单继承,而接口可以被多继承,为了防止接口污染,所以接口不可以太

TJU_SCS_C#学习笔记(7)(上)

一.课堂内容 上回策马奔腾讲到17章,这次从第18章讲到了22章. 18章WPF应用,这个在即将要截至的大实验中有被要求......19章Windows Form Application,20章attributes and reflection,21章线程与同步,22章stream流.不得不说内容的确非常非常的充实,我感觉我需要很长很长的时间才能够将所有的知识接触理解消化. 故,由于时间的问题,这篇博客只能比较短暂的就其中的某些知识点进行一下基础的探究. 二.学习内容 1.C#线程与同步. 线程

TJU_SCS_C#学习笔记(9)

这次的博客本应该在上个周末就贴上来,一拖再拖,拖到现在周五,然而周末还有最后一篇博客. T T 由于上个礼拜并没有上课讲内容,看了做得比较好的同学们的成果展示,有的做游戏,有的写生活应用,有的想法奇特,有的技术超群,有的包装华丽……不得不说每个同学都非常有想法,我也感受到有个稳定的团队和明确的小组分工是多么高效的事情,然而我一个人组队在编写的过程中花费了太多的时间,如果有队友一块儿交流的话,我感觉我能做得更加好. 接下来我就讲一些我在编写代码过程中学习的知识. 1.WP的Navigation和W

TJU_SCS_C#学习笔记(5)

一.课堂内容 首先延续上节课的结尾,又讲了关于正则表达式的内容,以及c#中的exceptions相关的知识,以及delegates中文翻译为委托,以及c#的时间events,还有两个关于Windows phone app开发的视频教程.正则表达式就不用多说了,这光光拉出去都是一门值得深究的课程,关于events线程啊什么的,不管是在c++还是java中都是让我头疼的内容,关于Windows phone app的开发只能说非常有意思,但是感觉还是动手实践会学的比较快,可惜我的虚拟机就是不争气,还在

TJU_SCS_C#学习笔记(8)

一.课堂内容 接着上次的第22章stream讲到了23章Programming .NET and COM(什么鬼,表示完全不懂呀!),然后PPT上的内容就讲完了,然后章老师放了两个Binding有关的WP开发视频. 我表示我当前的实验也正在研究这个binding,DataTemplate,还有Json序列化反序列化的问题,那些视频一个个看的云里雾里,不太明白怎么用啊!!!于是这么几天我都快疯了然而实验内容还卡这关键部分还没有写出来! 二.学习内容 1.Stream 先写一点stream的东西,关

TJU_SCS_C#学习笔记(6)

一.课堂内容 感觉这节课讲了好多好多东西,至少从13章节讲到了大概17.18章的样子.13章关于LINQ语句的一些介绍,14章是关于XML的用法,15章是LINQ语句更多实际应用,16章是ADO.NET以及relational database,17章是ASP.NET,这些都是.NET一些特性,然而我并不太会,章老师也给我看了些关于ASP的视频,然而我并不会. 这篇博客主要些关于简单的LINQ以及XML两章节的一些练习. 二.学习内容 1.LINQ LINQ的全称是Language-INterg

TJU_SCS_C#学习笔记(10)

Revision History Date Issue Description Author 10/May/2015 1.0 Realize the APP with binding. Tang Hongyao 17/May/2015 V2.0 Give up binding, change another way. Tang Hongyao   Problem Statement At first, I don't know how to realize the saving and load

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu