.NET学习日记【1】

不得不说,之前一年学习的内容基本上在第一章中都有所涉及,而且还讲了很多不知道知识。看完第一张对多态和继承都多了一些体会。在1.4前面的都有很认证的看过,也在vs上面验证了一下。然后也明白了.NET到底是什么,..NET就是微软的一个梦想,一个统领各种语言和平台的梦想,与其说是梦想,不如说是野心。

废话不多说,开始总结此次的收获。

在最最基础的变量的定义和输出中,感觉是重新认识了var这个定义的意义,之前也看到过,但是不知道是这么的全。

var age=30;

Type ageType=age.GetType();

console.writeLine(ageType);

输出界面就不截图了,反正你比之前的方便很多

之后就是变量的作用域,很基础的问题。

然而 就在前不久 我还搞错了一次 ,尴尬。这次在上面刚好看到我犯得的那个错误。算是又一次的巩固了这个知识了。

clsaa Example

{

void math()

{

int n=2;

}

void math1()

{

for(n=1;);//作用域错误。显示n未定义 局部变量和全局变量的区别

}

}

在下面的 switch和for do 。。while语句 还比较好。都比较简单。没什么问题。

goto语句 不是第一次见到  但是还是第一次看到讲解,不是很难 一个跳跃的语句。

break语句 经常使用 现在也比较熟悉,所以没问题。

在后面就是字符串的常规操作,前面的都见过也用过,但是后面的那个

Console.WriteLine((int)‘国‘);

还是第一次见到

第一次尝试的还是错了 就因为在中间多打了一个括号 ,但是在书上 貌似就是有一个空格的,可能是用的编码器不同造成的误差吧

在后面的很多语句中我都有认真在编码器上调试

截图为证,哈哈。

1.C#中的继承规则
继承是可传递的。如果C 从B 中派生,B 又从A 中派生,那么C 不仅继承了B 中
声明的成员,同样也继承了A 中的成员。0bject 类是所有类的基类。
派生类是对基类的扩展。派生类可以添加新的成员,但不能移除已经继承的成员的
定义。
构造函数和析构函数不能被继承。除此以外的其他成员都能被继承。基类中成员的
访问方式只能决定派生类能否访问它们。
派生类如果定义了与继承而来的成员同名的新成员,那么就可以覆盖已继承的成
员。但这并不是删除了这些成员,只是不能再访问这些成员。
类可以定义虚方法、虚属性及虚索引指示器,它的派生类能够重载这些成员,从而
使类可以展示出多态性。

之前在听继承的时候是听懂了的,但是一个暑假会来再看继承又有点懵逼了,只能勉强的知道该怎么写才是继承,但是为什么这么写感觉不好。。。

然后是 委托,嗯 果然如李老师所说 懂了的觉得很简单

看了半天总算是看懂了一些,但是没有去调试 ,有空闲一定要去调试看看 ,体会一下其中的乐趣。

后面的内容因为之前完全没有涉及,所以只是看了一遍,懂了大概的意思而已。不管怎么说,还是要反映在代码上看起来才真实。

时间: 2024-09-30 04:14:22

.NET学习日记【1】的相关文章

学习日记之状态模式和Effective C++

状态模式(State):当一个对象内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类. (1),状态模式主要负责解决的是当控制一个对象转换的条件表达式过于复杂时的情况.把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化. (2),状态模式的好处是将与特定状态相关的行为局部化,并且将不同状态的行为分割开来. (3),将特定的状态相关的行为都放入一个对象中,由于所有与状态相关的代码都存在于某个ConcreteState中,所以通过定义新的子类可以很容易地增加新的状态和

学习日记

五一耍了三天,自己的计划有泡汤,那种制止力哪里去了,不过我认真起来还有有废寝忘食的时候,不过希望这种时候多一点,回家妈妈告诉我,她给老师打电话了的,老师说了我的一些情况,不过我没有老师说的那么好,学习在班上算中等.我觉得还算不上吧!任重而道远吧. Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量

学习日记之解释器模式和Effective C++

解释器模式(interpreter):给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. (1),如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言的句子.这样可以构建一个解释器,该解释器通过解释这些句子来解决该问题. (2),当一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象的语法树时,可使用解释器模式. (3),容易改变和扩展文法,因为该模式使用类来表示文法规则,你可以使用继承来改变和扩展该文法

学习日记之中介者模式和Effective C++

中介者模式(Mediator):用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变他们之间的交互. (1),中介者模式很容易在系统中应用,也很容易在系统中误用.当系统出现多对多交互复杂的对象群时,不要急于使用中介者模式,而要反思你在系统的设计上是不是合理. (2),中介者的出现减少了各个对象的耦合,使得可以独立地改变和复用各个对象和中介者. (3),由于把对象如何协作进行了抽象,将中介者作为一个独立的概念并将其封装在一个对象中,这样关注

学习日记之职责链模式和Effective C++

职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这个对象连成一条链,并沿着该条链传递该请求,直到有一个对象处理它为止. (1),当客户提交一个请求时,请求时沿着链传递直到有一个 ConcreteHandler 对象负责处理它. (2),接收者和发送者都没有对方的明确信息,切链中的对象自己也不知道链的结构.结果是职责链可简化为对象之间的连接,它们仅需保留一个指向其后继者的引用.而不惜保留它所有的候选接收者的引用

学习日记之单例模式和Effective C++

单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点. (1),通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象.一个最好的办法就是,让类自身负责保存它的唯一实例.这个类可以保证没有其他实例被创建,并且它可以提供一个访问该实例的方法. (2),lock 是确保当一个线程位于代码的临界区时,另一个线程不进入临界区.如果其他线程试图进入锁定的代码,则它将一直等待,知道该对象被释放. (3),双重锁定解决效率问题. (4),C#与公共语言运行库

学习日记之迭代器模式和Effective C++

迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示. (1),当需要访问一个聚合对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑迭代器模式. (2),你需要对聚集有多种方式遍历时,可以考虑用迭代器模式. (3),当遍历不同的聚集结构,应提供如开始.下一个.当前项等统一的接口. (4),迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器来负责,这样即可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据. Effec

学习日记之适配器模式和Effective C++

适配器模式(Adapter):将一个类的接口转换为客户希望的另一个接口.Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. (1),系统的数据和行为都正确,但接口不符时,我们应该考虑适配器模式,目的是使控制范围之外的一个原有对象与某个接口匹配.适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况. (2),使用一个已经存在的类,但如果他的接口,也就是他的方法和你的要求不相同时,经营该考虑适配器模式. (3),两个类所做的事情相同或相似,但是具

工厂方法模式和Effective C++学习日记

简单工厂模式VS工厂方法模式: 简单工厂模式:最大优点在于工厂类中必须包含必要的逻辑判断,根据客户端选择条件动态实例化相关类,对于客户端来说,去除了与具体产品的依赖. 工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法模式使一个类的实例化延迟到其子类. 工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现相应的类,选择判断的问题还是存在的,也就是说,工厂方法模式把简单工厂的内部逻辑判断移动了客户端代码来进行.想要加功能,在简单工厂模式

数据结构学习日记2:实现一个简单的线性表功能(链式存储方式)

数据结构学习日记,此次是用链表来实现一个线性表的功能 // ListTable1.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using namespace std; #define ERROR 0; #define OK 1; typedef int Status; typedef int ElemType; //声明一个节点 typedef struct Node { ElemType d