于怪桃花盛开的时令,我们以雨天学习泛型集合

深入.NET平台和C#编程

  同学录,你早晚非会见生。每当毕业时,让全班每位同学写几句子祝福语。昨天,启正中学初三的学习者说,他们曾初步以同学受流传同学录了。与以往异,今年众多同室在同校录中纷纷出现个性化的情,比如说,用文言文中之传形式写总结。

          之化骨绵掌

  “一边是即将中考[微博]的压力,一边是自娱自乐,我道颇好的。”有学员说,这样的同桌录才会形式多样,读起来有才又幽默。

假 如 你 的 人 生 有 理 想,那 么 就 一 定 要 去 追,不 管 你 现 在 的 理 想 在 别 人 看 来是 多 么 的 可 笑 , 你 也 不 用 在 乎 , 人 生 蹉 跎 几 十 年 , 如 果 年 轻 的 时 候 计 较 得 失 前 怕 狼 就 后 怕 虎 而 不 去 追 逐, 等 到 了 40, 50
岁 的 时 候 , 你 唯 一 能 做 的 就 是 感 叹 岁 月 的 消 逝 和 无 情…

  据了解,这段时,这种用文言文写同学录的样式,在惠兴中学相当初中正日益兴起。

 

  生善用古文自嘲

船停靠在海口凡可怜安全之,但就不是造船的目的

  “宋昊平,字卡索。现年十四秋,面白无须,祖籍温州。”这是内部同样号同学的自述,也几乎是享有用文言文写同学录的生的始发,往往是姓名、年龄长相等简介。

          –北大青鸟五道口校区原玉明先生编制

  不过,介绍个人事迹的下,才真正显露出同学等的古文功底和村办才华。比如说,刘虓以形容为同学胡陈超的列传里就是这么记录:“聪敏好学,于书无不窥,凡事一定究其机理,以致欣然忘食”“沈(通沉)溺于书页里,浪迹于粒子中,尤精象纬之术,宇宙洪荒、须弥芥子无不潜于胸壑之中。”

                             By:北大青鸟五道口原玉明老师

  “我是思念说,胡陈超不愧是只理科高手,他的学习成绩很好,一直让我肃然起敬。”刘虓说,之所以想到用文言文去形容同学,主要是近些年于羁押《明史》。“因为巧有感觉,大概花了大体上个小时,写了300多配。”刘虓说,用文言文写作,对客的话并无是首蹩脚。去年,班上之一个文艺节目历史剧《空城待雪》就是他著述之。最近还要以做有关明朝皇帝朱允炆的小说。“不过我之小说是基于野史修改要改为,可以说凡是野史的平方。”

1.学习道: 3

  胡陈超说,看到刘虓被好写的情节,他认为好的形象瞬间巨大了。“古文就是发出这种让人口看内功很怪的气场。”

第一章 深入.NET框架 5

  学员能灵活运用是件善事

1.NET简单说明 5

  学生说,他们会想到用文言文来形容同学录,主要是给语文教材中《老舍自传》《五柳树先生传》的震慑。以《老舍自传》为例,当中就发出成百上千自嘲的口舌,如“再活四十年,也许有点出息。”这无异于接触好抱学生的“胃口”。在仿写的自传中,很多学生大方自我揶揄:“虽长生相同面子,但很有碍观瞻,仍不以为忤。头脑发达,四肢极简……”更发生爆料自己“不良”爱好的:“自幼上网聊天、反恐精英、魔兽争霸,无师自通……”

2.Microsoft .NET框架概述。 7

  学校教语文的庄先生说:“原本为他俩写毕业的感念词,没悟出她们会刻画古文传纪,而且写得还有模有样的。”到了初二、初三,的确会生成千上万疼研究历史,并且尝试在写写古文的学生,老师该鼓励。

  1. NET框架体系布局 9

  庄先生说,杭州市之中考语文满分150分,古诗文占了20分。而且杭州暨浙江其他市非雷同,杭州之古文考的且是课外的,所以难度比较生,不能够死记硬背,要会见灵活运用,所以平时看一些古文的历史书,用古文练练笔也是来帮扶的,好一些之生,古诗文能够将到15区划以上。

4.封装体现   李明瑞 14

5..那些年我们学了之走访修饰符?? 14

6.变量,类与法的命名法 15

7.new:代表意义: 15

8.字段及性能区别? 15

9.自动属性 15

10.vs2012生写的色怎么在vs2010遭遇开拓 16

11.作业环节 16

第二章 深入C#数据类型 16

CLR via C# 16

  1. 封装 16

  2. 关于数组的那些事 17

  3. 值类型(在栈上存储真实的价值)和援类型(堆和栈上都使分配空间) 17

  4. 结构体 22

5.构造函数 23

6.装箱和拆箱 24

  1. 值传递和援传递 25

8.藏练习  经理评分 26

老三章节 使用集合组织相关数据(终极内存数据容器)
28

一致、集合概念引入 30

其次、 第一个集合ArrayList的用 31

★1.引子: 31

★2.集扩容原理截图 32

老三、集合中元素操作(添加,遍历,删除、常见错误)
34

1.常见属性: 34

2.不时因此艺术: 34

  1. 科普错误:见PPT 34

4.当场编程 35

季、集合初始化器,对象初始化器 36

五、HashTable 36

★1.HashTable注意事项 37

★2.对准HashTable遍历三栽方案: 37

六、泛型集合List<T>(理解difficult,写起来easy) 40

七、泛型集合Dictionary<K,V> 40

八、 自定义泛型 40

九、.NET集合框架(集合扩展) 41

Queue(队列): 42

Stack(栈): 42

季章 深入类的法子 44

1.构造函数 44

2.方法重载(考试肯定考:2届3分叉) 45

  1. 靶中的互动 45

第六章 继承 51

相同、课程回顾 51

老二、预习问题 52

老三、本章目标 52

季、课程内容 53

3.继承: 53

第七章 深入明多态 60

率先种植:虚方法实现多态 63

其次栽:抽象方法实现多态 65

第八章 网络电视精灵   // 获取与安当前目录(该过程从中启动的目录)的全限定目录。  System.Environment.CurrentDirectory
69

01.哟是设计模式 72

02.大概工厂图解 73

03.单例模式 75

04.为何上XML? 77

 05.什么是XML? 77

06.xml书写注意点 78

07.解析xml文件 78

08.问题记录 78

09.TreeView控件 78

10.网络电视机精灵 79

第九章节 文件操作 89

01.文件操作相关 92

02.File和Directory 93

03.FileInfo和 DirectoryInfo 93

04.序列化与反序列化 94

第十节 影院售票系统 96

  1. 从Movie开始 97

  2. Seat 座位类 100

3上映场次 100

 

 

 

 

 

 

 

寒假作业 (寒假开心快乐!):

01.预习S2 第二本数前4段,提交电子版预习笔记,附带案例做截止,并且书写第五章体检套餐管理项目

 

02.以KTV系统代码形成BLog文章,并且从解释,注释!

 

 

03.以拥有出口了的S1课程被,书写同样篇有技术含量的blog,可以是目标往往组,可以是KTV项目之意义点对知识点的下把控。

 

04.整理S1季本书所有的课堂案例,上机练习,以及课后题材源代码(需要付出),并且形成电子文档。

 

05.春节不过深得心情文章!

 

过年的一点点旨在,大家别嫌少啊!希望大家了一个非雷同的新年

 

1.上方式:

 01.摸一论好书

初始阶段不入,可以放开第二独阶段,看到知识点时,要拓展验证

 

 02.查帮助文档和搜索引擎的施用

凭网络直达之Blog文章

 

 03.不要急功近利

     不要抱在速成的想法,否则肯定走弯路
     学习编程不是容易的事务
     付出的老本高,才会发出一个高薪的进项

 

 04.绝不躁动

     不要啊还仿效,只学有因此底

     浮躁的程度与技术水平成反比的
     走自己之路途,让人家去浮躁去吧!

     每天问问自己,我是勿是始不耐烦了,不可知人言也云.

 

05.念语言功底很重大

   基础不扎实,开发有的程序即使不行悬
   将所学的施用开发被错过

 

06.呀时失去看他人的代码?

    揣摩编写代码人的思路,远比自己写软件要麻烦得几近
    初家不要失去押他人的代码

    在纸上拿调用关系写出,抓主线.

 

07.安加强?

    有主动性。学习之欲望而大。上网搜别人的问题,为祥和来提高

 

08.培养发现问题、思考问题和化解问题之力

    出错信息,异常信息
    养成发现题目、思考问题和缓解问题之能力

    这种力量受益终身,且无循时间变化

 

09编程的盘算

 

  多用心,多动手
  程序运行的法则和建制
  编程的目的,函数的调用,内存模型

 

10.先学系统,再学枝叶

 

君肉眼可见的网站 ,你都可仿造出来,达到以假乱真的页面效果

13个段落  作家

 

 

第一章 深入.NET框架

–有的时候,我们以出中,除了要返回消息我,还得发送信息之状态,这个

–时候需要引入out参数。

 

第一章 深入.NET框架

2016年3月23日13:39:34

 

1.类和目标的关系?

分析:对象是类似的实例,类是对象的架空。

1.NET简单易行讲

l 关于类库的解说

      精华:所谓类库,就是微软要sun公司,定义好了一样堆类,方便用户指向数据库数据的操作,或者对磁盘文件的操作

新建类库时,命名空间的名号即使是类库的称号

 

体现形式:XXX.dll(dynamic link
library)或者XXX.exe

含蓄了相同堆放类:每个接近中蕴藏了同样堆方法

 

l 面向对象提升

OOP(Object Oriented  Programming)面向对象编程  (5k)  8k   12k

AOP:(Aspache  Oriented Programming):面向切面编程

OOD(Object Oriented  Designer)面向对象设计(架构师)   3万/month

OOA(Object Oriented  Analysis)面向对象分析  (分析师) 10万/month

DBA(Database Administrator,简称DBA)
 无价的,你要多少,老板要吃小!

 

l 泛型集合对目标往往组的一个升迁(真正的支出中,用底还是泛型集合)

 

l xml解析

   如何以硬盘上的xml文件形成内存中的泛型集合数据

 

l IO操作

  序列化与反序列化(应用很宽泛)

 

l 大家对.NET的认识

 解析:老一辈人也叫DOTNET

 .NET战略:微软的一个冀:任何一个总人口,在旁一个地方,使用任何一样慢性终端设备,都得以拜微软资的劳务,eg

广州:google,

 Office,Google()

 佛的角度来说:万物取一个抵。

 Java  .NET

 联通  移动

 A  B

  .NET是微软的一个大之计划(战略)

  Office.NET

 网警浏览器

 IE

 

卡莉·菲奥丽娜 (她是个女性之)

hp的前ceo

hp和康柏就半只联合,

 

windows azure

 

.NET 平台

C#,VB.NET,C++

 

得团结写一个程序开启摄像头

Java效率低

C#

 

C#脚调用的凡java的jar包

C语言

C开发的。

 

System.out.printnln();

Console.WriteLine();

 

MVP

 

关于重装的那些事情

gril friend

boy friend

桌面

我的文档

网上邻居

打印机共享

组件的挂号

 

 

验证码:注册和登陆用验证码作用?

浅析:机器 模拟 10亿不行呼吁,

 听说这个名字没人为此1

 听说是名字没人所以2

 

 

金蝶 KIS

速达3000

用友:

管家婆

ERP(企业资源规划)

OA系统

进销存

 

 

领料单

组装单

Vs版本
                       .NET Framework版本

Vs2003                         1.0/1.1   

Vs2005                         2.0

Vs2008                         3.0/3.5

Vs2010                         4.0

Vs2012                         4.5

Vs2013                         4.5

Vs2015                         待测、

 

2.Microsoft .NET框架概述。

 01,Microsoft .NET介绍

 微软的.NET历史

  2000年微软公司向全球发布其革命性的软件以及服务平台:Microsoft .NET

 

02,为什么需要.NET框架

 通过如下两独问题求证为何需要.NET框架

001,C#程序可以当不同平台(PDA、PC)的环境被运作吧?

002,  使用C#次可以调用VB.NET开发之次第吗?

答案自然是可的,这为堪说明.NET框架的精锐的处。

03,.NET框架概述

.NET框架

.NET战略之功底框架

.NET程序的周转环境

强硬的类库

.NET 框架==.NET Framework

 解析:在A机器上出了一致慢慢悠悠软件,只要B机器上出框架就执行了,不用再B机器上安装开发环境VS。

.net core 1.0

 

04,.NET框架的魅力

   001,面向对象编程

      提高软件可复用、可扩大、易维护性、灵活性

   002,强大的动态web支持

   003,web服务

   例如:天气预报服务iGoogle和开发宝网上购物商城

  003,数字身份验证的支撑

  004,支持构建.NET程序的炫彩外衣(特效制作)

3.NET框架体系布局

   01.NET框架体系布局

 

 

 

ADO.NET概念?

剖析:ADO.NET是微软资的一样组类库,可以拉程序员和数据库交互。他内有四很目标(DataReader,DataAdapter,Command,Connection).

直问

 

次年:世界上闹星星点点栽人:能看明白二进制的食指跟莫克看明白二进制的总人口

02,公共语言运行时

\

CLR的少只有

CTS:称为通用项目系统

      定义了在IL中的数据类型

CLS:称为公共语言专业

包括几种面向对象的编程语言的通用功能。

     03,.NET框架类库

       

 

Scanner

Arrays

 

1.NET平台下的语言

  01.C#  VB J#   F#  C++

2.

  vs2013  4.5

  vs2012针对性承诺框架的版本是4.5

  vs2010          4.0

  vs2008/sp1          3.0/3.5

  vs2005              2.0

  vs2003              1.1

 

3..NET FrameWork两不胜组件是啊?

 解析:.NET 框架类库(FCL:FrameWork Class
Library)和公语言运行时(CLR:common language
Runtime)

4.CLR带有两有:

分析:公共语言专业CLS(Common
Language Specific) 通用型系统CTS(Common  Type System)

5.c#言语要编程成可以为CPU解析执行的代码用简单不行编译:

第一不善编译:将C#言语由此c#编译器编译成MSIL中间代码

老二次等编译:将MSIL代码通过就经常编译器(JIT)编译成CPU可以分析执行的代码,或者成为(平台专用代码)

6.java先后一旦想给CPU解析执行吗是需要少软编译

相同赖编译:将晚缀名为java的文书通过java编译器编译成后缀名为.class(字节码)文件

次不行编译:将.class文件通过java虚拟机(jvm)编译成CPU可以分析的代码

7.CLR中间足足三片段:

CTS

CLS

JIT

 

类库:可以作为是一个承接了N个类的器皿。

类库:System.Data.SqlClient
   和数据库交互

      System.Data:            DataSet

      System.WinForms;        Winform应用得类库

      System.Collections.Generic;   泛型集合

      System.Net;                网络操作,下载等操作

       System.IO;               文件之读写,文件夹的读写。遍历等操作

       System.Drawing;           绘制图形,和验证码

类库和命名空间?

解析:一个类库一般对应一个命名空间,也得以对诺多只。

    可执行文件

     dynamic  link  library

 类库

 

 

4.封装体现   李明瑞

先是种植:将民用字段封装成公有的性能看成是包裹的反映

老二栽:一个接近可以封装属性和方

public class Dog

{    

    private string name;

    public string Name

    {

        get{return name;}

set{name=value;}

    }

    public void bark()

    {

 

    }

}

1.面向对象编程三格外特色:封装、继承和多态

5..那些年我们学过的看修饰符??

public:任何职务,包括跨程序集。

internal:在此时此刻程序集(项目)中还足以拜

private:只能在目前看似中做客(当前相近的花括号中访问。)

protected:只能在脚下相仿和其子类中行使  (后续讲解)

 

顾修饰符:真正的意义?

类  字段  方法

接近的访修饰符:

//public(这个类似以任何地方都得运用)  internal

字段:private,public

方法:private ,public

6.变量,类与方式的命名法

骆驼命名法(camel):第一个单词的首字母小写,后续有含义的独词首许母大写。
变量

帕斯卡命名卡(pascal):每一个单词的首字母都大写。类名和措施名

7.new:代表意义:

Student stu=new Student();

01.创建对象

02.开辟空间

03.电动调用构造函数

8.字段同性能区别?

分析:01.属性不克保存数据,真正保存数据的是字段

     02.属性是无所谓的,字段是要的。

 03.如果字段只想为接近里访问,那么设置成private,如果想找一个中间者,

  于Main方法被走访到Student类中的民用字段,那么属性可以是均等种植选择。

指望:推荐大家从此写类的下,字段和性质改为对出现。

.属性无非就是是发get和set两单访问器组成

get:取值

set:赋值

9.自动属性

活动属性应用场景:当我们无待做逻辑判定的当儿可以使用机动属性

概念自动属性在后台会自动帮咱转变一个相应数据类型的村办字段

 

10.vs2012生写的种类怎么在vs2010着开拓

步骤同:找到sln文件,用记事本打开,将Format Version 12.00
改吧11.00

手续二:找到csprocj文件 ,用记事本打开,将<TargeFrameworkVersion>4.5</TargeFrameworkVersion>

改为4.0

步骤三:将App.Config文件中之如下节点受到的内容换成4.0

<startup>

        <supportedRuntime version=”v4.0″
sku=”.NETFramework,Version=v4.5″ />

</startup>

11.作业环节

01.下午大家魔兽写了

02.描绘一个得读取所有数据库路径的工具(三节课)

03.次回预习(不用进班)

   必须多于3页

04.下次提问第一章节以及次章节单词

   001..NET 框架两雅组件

     CLR组件

   002.常因此命名空间

   003.C#次第编译原理图

第二章 深入C#数据类型

1.上课第一章节 魔兽争霸项目

C#入门经典

C#图解教程

—>c#本质论

—>梅超风:

CLR via C#

2.试着讲解几鸣笔试题

1.封装

土豪:拆快递。

窗边的略微豆豆

C#本质论:

.   封装又如消息隐藏,是依使用抽象数据类型(自定义类UserInfo)将数据及数码的操作结合在一起,使其重组一个不可分割的独实体,尽可能的藏其中的细节,只保留有对外接口,使的被表面有关联。

 

 体现一:把措施和属性封装到近似中,看成是如出一辙种包装

 体现二:将民用字段封装成 公有的性质

 

包的长处

第一:code重用;

次:不必关心具体的贯彻; (方法)

其三:面向对象三深特点有;

季,具有安全性!

小孩儿

老舍37《四世同堂》 妞子 活活的给饿死

黄磊

2.有关数组的那些事儿

假定我们定义一个频繁组,并且赋值了

int[] nums={1,2};

nums当中保存
的是积中的地点:例如:0x001

nums[0]:访问的凡积中的情

3.值类型(在栈上存储真实的价)和援类型(堆和栈上都设分配空间)

值类型:

Short   int  long  

Float

Double

Boolean

Char

Byte

 

S2222 我们尽管是殊2,牛!!!!你能够如何!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C# 垃圾回收器回收器

 

Java 垃圾回收器回收器

 

二代

三代

四代

Student stu=new Student();

4.结构体

为什么用结构体?因为当一个作业实体中,属性个数较少的下,使用类似或滋生内存浪费,这个时起平种新的数据结构,就是结构体

             /*01.结构体不用new,就得直接针对其属性赋值

             *02.结构体中好产生字段,属性和章程

             *03.结构体是值类型,类是援引类型

             *04.当结构体中莫可知被字段赋初值,但是类吃只是以.

             *05.结构体中绝非默认构造函数,但好像吃出默认构造函数

网络地址:

 

 

 

 

 

 

 

 

             */

 

不无数据类型的生父还是Object

拥有的值类型直接的大是ValueType,爷爷是Object

5.构造函数

    默认如果定义了一个看似,系统会自行的变更一个以及该类名称相同,并且没有回来值类型,甚至并Void都没的办法,该法就是称构造函数!

Student stu=new Student();

留神问题:值类型的直白父类都是ValueType,而ValueType又连续自Object

出奇的值类型:枚举和结构体

奇异之援类型:数组和接口

 

6.装箱和拆箱

是因为装箱和拆箱对系特性损耗大老,所以当实事求是的开发中我们尽量避免装箱和拆箱的操作。

C#编程指南(c#权威)

Object:是援类型,并且是装有数据类型(值类型,引用类型)的父类

 

 

 

面试题:

int number=3;   值类型的直父类:ValueType,ValueType的爸爸是Object
Console.WriteLine(number.ToString());

结论:没有装箱

下自己查!Why ??

 

教师:什么时应该装箱,什么时理应拆箱?

解析:由于装箱和拆箱过程还如耗费系统的性质,所以于支付中应当尽量避免装箱和拆箱。

7.值传递及援传递

 

 

主意的参数是值类型和援类型

 

 

 

 

 

在意:值传递和援传递判定依据是生没有发出ref关键字

结论:

 

01.而方式的参数类型我即是引用类型,那么对参数值的修改会永久保存

例如:public void TP(SE se)

{

    se.Count++;//真正的修改se对象的Count值

}

02.假设方式的参数类型我是值类型,又不曾ref修饰,那么对参数值的改动,不见面永远保存()

03.若措施的参数类型我是值类型,但是来ref修饰,那么对象参数值的改,也会永远保存。

 

值类型传递 :不带ref的参数传递   SE se

 

援类型传递:带ref的参数传递

 

Windows  Live  Writer

 

8.经典练习  经理评分

 

 

思路分析:

 *先行准备一个SE类

 * 准备一个目标往往组,长度也3

 * 写一个术初始化集合的3件

 * 如何将数组中的数量(肉眼看不到的数)转换成界面及之ListView中的数目(肉眼能够见到的数码)

 

 

作业:

1.协助自己写一个SSMS工具

 

2016年8月25日作业

1.

 

 

2.Blog文章

剖内存

值类型引用类型

 Heap(堆) 栈(Stack)  队列

 12K

3.面试题:

int number=3;
Console.WriteLine(number.ToString());

敲定:没有装箱

下来自己查!

 

季像样八种植档次

StringBuilder和StringBuffer

 

学业环节:

1.扣此次课12只知识点

2.数组题

 

 

3.尾声SE Voter手动敲一百分之百

4.电脑编号 ,经理评分

5.课后具备的选料和简答题

6.老三章节的预习作业

 

老三回    使用集合组织有关数据

老三节 使用集合组织有关数据(终极内存数据容器)

S2223听写

第一题:List<T>类型泛型

 

 

第一题
  Dictionary<K,V>泛型

 

 

 

 

 第三章开  集合初始化器

 

一致、集合概念引入

汇:某些指定的目标(SE)集中在一齐就是汇聚

正如是一个Hello Kitty的聚众

数组:可以储存相同数据类型的一样积数据的容器

 

二、先是单集合ArrayList的行使

 

无论是java还是C#,引用类型对象都见面活动调用它的ToString()

ToString()方法体重写的适就是是
   命名空间.类名

 

public string ToString()

{

  return this.GetType().ToString();

}

★1.引子:

从而ArrayList进行赋值的时段,需要采用Add()

但是对聚集中元素的修正可以以下标,eg.list[0]=1给新值

可是于集中元素个数为0的事态下,不克就此Add()方法之外的另外手段让集合中补充加元素

,原因为_size是聚众的一个性能,
真正存储元素个数为0的时段。_Size也是0.

int[] nums = { 1, 2, 3, 3, 4, 5 };

    我想当2与3里插入一个要素100

    数组的局限性:由于深受数组中上加元素,删除元素的时光,特别累,所以自己想搜寻一个替数组的家伙,来援助我们实现数组所能够兑现之效能。集合应运而生

汇的独到之处:01.机关扩容 02.聚集当中很多法好给咱们愈便民的来操作集合中多少。(必须控制)

 

扩充:集合本质的讲解(面试可以且,加分)

 00.下ArrayList首先用引入命名空间,System.Collections

 

 01集合动态扩容原理:如果凑中元素个数为0,并没有开发空间

 

 02.默服如果凑中出现了第一个要素,那么聚集的大小4,如果放入第5只元素,那么会扩容成8

 

 03.如果当小括号丁首糟定义的下指定了聚众的长,那么以后扩容的计

 变成初次指定数字大小的2倍增;如果没点名长度,那么以循01之正规化

 

 04.凑合内部也是通过简单单数组相互copy完成扩容的,但是微软都对那举行了优化,我们绝不关心效率问题

 

 

 

★2.汇聚扩容原理截图

 

 

 

 

小结:

 01.聚集的概念

   自动扩容:

   Capcity和Count区别?

 02.构造函数

   概念:给类定义一个方法,方法名和类名相同,没有回到值,连void都非克发。

  03.非泛型集合在动前,一定要事先导入命名空间。

04.命名空间

  解析:作用:能运用该命名空间下拥有的始末(类,方法)

  保证在不同之命名空间下可出现以及名类

  

weilengdeyu.Download()

Weiredeyxue.UPLoad()

 

 

2015年6月27日17:20:58

–删除

  

键盘

其三、集合中元素操作(添加,遍历,删除、常见错误)

 

1.常见属性:

Capacity:集合占用空间

Count:集合存储元素个数

2.常因此艺术:

累加:int Add(Object value)
//添加一个目标及集的末梢

遍历:通过foreach遍历

删除:Remove()、RemoveAt()和Clear()

      *:注意事项:如果除去了集中之某一个因素,那么聚集的索引会自动保护

      Remove():删除内容

      RemoveAt():通过索引删除

      Clear():一次性移除集合中所有的要素

      Contains():是否含有有元素

3.广大错误:见PPT

写好的机件:其实就是您于微软已部分组件上拓展第二涂鸦封装。例如

管在TextBox中只能够输入数字。

譬如,现在TextBox内容而想只要按部就班自己一定的格式打印。自己在TextBox动手脚,然后叫他支持对应格式的打印。

 

2015年6月27日18:20:17 第二破回顾

  –01.ArrayList

     删除方法,包含,

   02.命名上空

     同名类便于区分,加快检索硬盘上有类的快

     Using System.Collections

     Using System.Collections.Generic; //泛型命名,默认导入

   03.var :隐式类型推断

      最后一个题目:

     int num=5;

   04.HashTable  

     第一个:删除

        没有RemoveAt()

     第二个:

       三个方案:根据key拿到value  

   只能以到value

                DictionayEntry     

             Foreach( DictionayEntry item in table)

             {

                 item.Value

                 //命名空间.类名

             }      

     第三独:HashTable是一律种植无序的双列集合。

     第四个:ContainsKey()

 

4.当场编程

学生类Student已定义,属性为:Name、Age

运ArrayList存储学生凑

上加少独学生(周杰伦,22;杨伊,21)

以for和foreach遍历学生信息

 

01.汇对于数组优点:

  001.操作便利(新增,删除,查找方便)

  002.自动扩容(刚开头好无指定集合起来容量)

02.会合的落实原理

  解析:集合在筹划上要采用数组实现的,只不过微软对片只相copy的数组的施行效率展开了优化,所谓的自发性扩容,无非是以新数组长度定义成原本数组长度的点滴倍后,再将新数组的前N项用原始数组的保有项填充而已。

 

季、集合初始化器,对象初始化器

   ArrayList engineers = new ArrayList()

{

        new SE(){Name = “周星星”,Age = 26,

                     Gender = Gender.male,ID = “000”,Popularity = 10},

        new SE(){Name = “王贱贱”,Age = 22,

                     Gender = Gender.female,ID = “111”,Popularity = 20},

        new SE(){Name = “周姐姐”,Age = 30,

                     Gender = Gender.male,ID = “222”,Popularity = 20}

};

五、HashTable

  Hashtable 通常称为哈希表

  根据键(Key)可以找寻到对应的值 (Value)

  

 ★1.HashTable注意事项

  

      01.HashTable类型的成团只能用foreach循环遍历,因为没有索引

      02.HashTable集中元素是无序的(不见面照Add的一一来展示元素内容)

      03.HashTable中的key不能够重复

      04HashTabel没有RemoveAt()

 ★2.针对HashTable遍历三种方案:

     ☆:第一种植艺术,遍历所有的keys,通过key的价获取value

     ☆:第二栽方法:遍历所有的value集合

     ☆:第三种艺术,同时遍历key和value

       Eg:

    fo

1.念方式: 1

第一章 深入.NET框架 3

1.NET简单解释 3

2.Microsoft .NET框架概述。 5

  1. NET框架体系布局 7

4.封装体现   李明瑞 12

5..那些年我们学过的走访修饰符?? 12

6.变量,类及方的命名法 13

7.new:代表意义: 13

8.字段与属性区别? 13

9.自动属性 13

10.vs2012产写的门类什么当vs2010着打开 14

11.学业环节 14

第二章 深入C#数据类型 14

CLR via C# 14

  1. 封装 14

  2. 有关数组的那些事 15

  3. 值类型(在栈上存储真实的价值)和援类型(堆和栈上都要分配空间) 15

  4. 结构体 20

5.构造函数 21

6.装箱和拆箱 22

  1. 价传递与援传递 23

8.经文练习  经理评分 24

老三节 使用集合组织相关数据(终极内存数据容器)
26

如出一辙、集合概念引入 28

次、 第一独集合ArrayList的行使 29

★1.引子: 29

★2.集结扩容原理截图 30

老三、集合中元素操作(添加,遍历,删除、常见错误)
32

1.常见属性: 32

2.常因此艺术: 32

  1. 常见错误:见PPT 32

4.现场编程 33

季、集合初始化器,对象初始化器 34

五、HashTable 34

★1.HashTable注意事项 35

★2.针对HashTable遍历三种植方案: 35

六、泛型集合List<T>(理解difficult,写起来easy) 38

七、泛型集合Dictionary<K,V> 38

八、 自定义泛型 38

九、.NET集合框架(集合扩展) 39

Queue(队列): 40

Stack(栈): 40

季段 深入类的不二法门 42

1.构造函数 42

2.措施重载(考试肯定考:2届3私分) 43

  1. 目标中的并行 43

第六章 继承 49

平、课程回顾 49

次、预习问题 50

其三、本章目标 50

季、课程内容 51

3.继承: 51

第七章 深入了解多态 58

首先种:虚方法实现多态 61

老二栽:抽象方法实现多态 63

第八回 网络电视精灵   // 获取和装置当前目录(该过程从中启动之目)的通通限定目录。  System.Environment.CurrentDirectory
67

01.呀是设计模式 70

02.简单易行工厂图解 71

03.单例模式 73

04.为何上XML? 75

 05.什么是XML? 75

06.xml书写注意点 76

07.解析xml文件 76

08.问题记录 76

09.TreeView控件 76

10.网络电视精灵 77

第九章节 文件操作 87

01.文本操作相关 90

02.File和Directory 91

03.FileInfo和 DirectoryInfo 91

04.序列化与反序列化 92

第十章 影院售票系统 94

  1. 从Movie开始 95

  2. Seat 座位类 98

3播出场次 98

 

reach (DictionaryEntry item in table)

            {

                Console.WriteLine(item.Key + “value==” + item.Value);

           }

 

六、泛型集合List<T>(理解difficult,写起来easy)

 泛型:就是为约束ArrayList中元素类型,而制定的一个新的联谊类型,该品种只能参加同一档的几近个要素,标识符<T>,可以当作是一个占位符,泛型是用运行时左提前到了编译时

员工打卡:下次周一:活动   项目

 

七、泛型集合Dictionary<K,V>

 Dictionary<string,Person> dic=new Dictionary<string,
Person>();

八、自打定义泛型

 

九、.NET集合框架(集合扩展)

 

 

 

Queue(队列):

Queue和Stack类似,主要分是Queue类以先进先出(FIFO)的组织创造集合,即,元素进入集合的逐条和弹有各个相同

队列图:

 

如出一辙、void Enqueue(object obj):将元素加入队列

第二、object Dequeue():将起首元素从队列中去除

老三、bool Contains(object obj):判断是否包含有元素

 

Stack(栈):

 

Stack:System.Collections.Stack类表示对象的略的后进先出非泛型集合。

栈图:

 

常用方法:

 

 

 

泛型方法

//方法定义

static void Swap<T>(ref T lhs, ref T rhs){    T temp;    temp =
lhs;    lhs = rhs;    rhs = temp;}

//方法调用

public static void TestSwap(){    int a = 1;    int b =
2;     Swap<int>(ref a, ref b);    System.Console.WriteLine(a + ”
” + b);}

 

作业:

1.下次课听写泛型和非泛型双列集合3中遍历方式

2.形容有有和集相关的措施

3.上机练习和课后挑选简答

4.第五段体检

5.泛型集合blogs

 

 

季章节 深入类的方式

 

季回 深入类的方法

1.构造函数

   构造:方法名和类名相同,没有返回值

   无参构造函数

   带参构造函数

结构的更动策略:

   注意:在C#未遭,当我们定义了一个看似后,默认会生成一个和类名

   同名的无论参构造,但是倘若我们由定义了其余一个拉动参构造,那么
 

   系统不再援我们别无参构造,在真的开支中,推荐大家定义

   两独构造函数,一个不论是参,一个带参。

2.方法重载(考试肯定考:2暨3划分)

解析:在和一个类吃,如果多只章程方式名称一致,但是参数列表(个数,顺序,类型)不同)的大半个措施好组合重载,和方式的返值类型没有半毛钱关系

以下的少独方法好做艺术重载

      public void Say(string name,int age)
        {
           
        }
        
        public void Say(int age,string name)
        {
           
        }

于面向过程遭到。函数

面向对象      方法

 

构造函数也得以重载

 

 

3.目标中的彼此

 

 现在这个社会已经不复是一个丁仅仅枪匹马打天下。协同工作。

 

Codeing:

Testing:

Designing :

 

开文档+Db+coding+测试+实施+培训–维护  (多面手)

面向对象:

京东商城:电子商务网站。

好家伙架构

后台数据库:SQL Server   10.1
 87

分层

跟数据库打交道:小组

暨事务打交道:小组

豪华的css,展示:第三单小组

单是拿内存中的数目用让一个Table承载出来

 

案例:通过遥控控制电视机的开关和切换频道功能

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cinema:电影院

上映计划

放映厅(50)

 

Seat

 

Ticket

播出计划

 :Movie

枚举

   时间

 

Movie

 

 

汽车租赁体系

网络电视精灵

体检套餐系统

职工打卡系统

 

「上课,是使你全世界都已经证实而且已亮之真相,上课的目的,是若给您拟人家花不少工夫整理与归纳的知识,而让您日晚再次念的途中,不欲还走相同次等,再造一不成轮」

 

 

 

老三在组件

 

S2:第6本书    

开行比较后,没干,终点并未人知晓当乌

  起步比较人口后,那是一百万只没关系。S1
清明节

  因为尚未丁领略,终点当何,不过自己倒是看了许多,虽然同样开始是飞了有的相距,不过以半路就休息了,时间了了千篇一律年半满,后来居上之人系列,唯独自己得意的口仍多,这是一个龟兔赛跑的概念。

非需要埋怨怎么形容都不好,怎看还无见面,问问自己每日花了有些日子以 coding。当你花费了无数岁月 coding,你道你真的花了卿老多的岁月,你仍套非会见,不待懊恼,转行吧。如果您免郁闷,那就延续。

放弃为是同等种植美

没有任何借口:

 

开智:

 

     你怎么说,孩子才见面听?

     开心,Happy  50    1.5万天

 

Baby:

势力

 

Person:

   GoHome(Bicycle car)

  {

      car.Run()  

   }

 

 

Traffic:

    Car

    Tube

    Bicycle

 

 

智能:

遥控板Control:

        开Open()

    关Close()

    切换频道Change(string
channelName)

 

 

TV电视:  oop

    开Open()

    关Close()

    切换频道Change(string
channelName)

 

UMLUnified Modeling Language (UML)再就是如统一修建模语言或标准建模语言

 StarUML  

 Rational Rose  庞大

时序图

 

 

StartUML工具:

Java同山头语言  《MyEclipse、Elipse,idea是开发工具》

 

  1、用例图(use case diagram)

 

 

 

 

 

 

 

   2、活动图(activity diagram)

   3、静态结构图

   4、顺序图(Sequence Diagram):时序图

   5、交互纵览图(Interaction Overview Diagram)

   6、通信图(Communication Diagram)

   7、时间图(Timing Diagram)

   8、状态机图(State Machine Diagram)

   9、构件图(Component Diagram)

   10、部署图(Deployment Diagram)

  11.类图(Class  Diagram)

 

 

 

 

UML视频地址

http://www.umlonline.org/school/thread-466-1-1.html

点餐系统:时序图或者是顺序图

//客户:点餐(两独对象,一个凡是服务生,一个凡菜单)

       /*服务生:记录客人点餐

        * 服务员:提交菜单给厨师

        * 厨师:根据菜单做菜

        * 厨师:提醒饭菜制作了

        * 服务员:传菜(将善的菜端给客户)

        * 客户:用餐

        *

        * 中间的关系:通过订单关联在齐

        * 订单内容(每张订单都应有发一个主人,需要有所一个客户对象,还要来一个订单号,还要发订单内容,点餐内容)

        *

        */

菜单类

   属性:该菜单属于哪个顾客(client)

         该菜单是何许人也餐桌的(id)

         顾客所接触之菜(mealList)

顾客类

   方法:点菜

       Public void Order(Waitress waitress,Order  order)

       用餐

       Eat

服务生类

     记录客人点餐

     GetOrder(Order order)

     给厨师提交菜单

     SendOrder(Chef chef)

     传菜

     TransCook()

厨师类

     获取菜单

     GetOrder(Order order)

     厨师炒

Cook()

提醒饭菜制作完

SendAlert(Waitress  waitress)

 

 

 

时序图

 

 

作业:

01.查作业:

第六章 继承

相同、课程回顾

1.使new实例化对象时,调用了什么?

剖析:调用了构造函数

2.艺术重载有怎么样特点?

解析:在和一个近似吃,方法名相同该,参数里列表不跟,和归值类型无关

3.之下位于同一类吃的简单单主意是否属方法重载?为什么?

public string Method1(string name){}

public void Method1(string address){}

浅析:不得以,这有限个措施就是跟一个计,在和一个近乎中无法存活。

其次、预习问题

1.子类似中调用父类成员的要字是什么?

解析:base

Base():语法:支持的凡子类构造后用:base()方式

Base.方法()

Base.父类属性

2.重复写父类方法运用啊要字?

解析:override

3.继往开来来怎样特征?

解析:单根性

     传递性

老三、本章目标

1.掌握继承的定义

2.熟练运用持续建立父类和子类

3.了解多态的定义

4.会重写虚方法实现多态

 

 

 

 

季、课程内容

1.当我们当编辑器中之所以到了Ctrl+C和Ctrl+V的上,就印证我们的代码已经出现了冗余,这个时段用考虑针对

代码进行优化。

S2220班级问题:父类的什么样成员可以被连续?

剖析:私有成员不克让接续,父类的布局

3.继承:在C#面临,如果一个类后通过冒号又与了另外一个看似,那么我们便称冒号前面的类似

呢子类,冒号后面的好像为父类。这种题类的艺术播出出来的关联就称为类的接续关系。

子类:派生类

父类:基类或者超类

4.满足什么标准的类似可下持续??

解析:满足is a关系之少数单近乎可以使用持续。

案例:经理is a a 员工

     程序员  is a 员工

     学生 is  a Person

5.如果new一个子类对象,那么来如下执行流程

   01.先恒定及子类对应构造函数,没有履子类的方法体

   02.转速了父类的无参构造函数,执行父类构造方法体

   03.转向了子类的方法体继续执行。

点题的言语:如果在子类构造中,没有采取base显示调用父类的布局,那么网也会自行调用父类的不论参构造

    //01.base代表父类对象,如果base():调用父类的构造函数

    //02.base代表的是方式调用,是勿需要参数类型的

6.通过base调用父类构造函数注意点

解析:01.经base调用父类构造函数只能够开在子类的结构后

     02.通过base调用父类构造函数参数顺序与父类的布局参数一致

7.注意:方式一:new Student(“张靓颖”,20);

及方二:new Student

{

   Name=”张靓颖”,Age=20

}区别?

剖析:最终都能兑现对类中的特性赋值。

可是赋值的规律不同,

方相同:直接调用该类的带参构造赋值。

  01.先透过任参构造创建出类的对象

  02.目标名.属性名的主意赋值

8.访问修饰符

  public:在其它位置还好拜,甚至是跨程序集都可看。

  private:只能当前相仿的花括号被走访。

  protected:只能当时看似,当前看似的子类,子类的子类(孙子类)中好拜。

 

9.后续的传递性

而一个类B继承自类A,而类C又持续类B,那么类C也足以拜到类A中非个体成员

10.继承的单根性 (C#免支持多累 Java也未支持多延续)

以怪遥远很久以前,有一个为C++的军械,他是支撑多延续的语言,突然发一样天,10只程序员用多延续,有9独还用擦了,后续之Java和C#语言因此不再支持多累。

在C#受,一个接近只能有一个父类,C#以及Java都不支持多累。要想使用多延续,那么要而使用接口。。

11.遍历窗体上拥有的控件,判断是勿是文本框

foreach(Control c in this.Controls)

{

    if(c is TextBox)

{

  ((TextBox)c).Text=””;

}

}

is a 判断一个对象是不是是某某项目。

12.继承的价

01.学现实世界之涉

02.有利于重用和扩展已清测试的代码,且无需修改

03.结构更清晰

13.多态

    不同的靶子对与一个操作,做出的应不同,那么这种情景于面向对象编程中即叫做多态

以多态的目的?

浅析:使用多态就是为了统一调用

 

14.实现多态三栽方法:

办法同:通过虚方法实现多态

实现多态的步子

   01.于父类中通过virtual关键字定义一个虚方法

   02.以子类中经override关键字对父类中之虚方法进行重写

   03.调用的时,调用的是子类的办法

  目前为止,我们学了有限种:

   第一种:虚方法实现多态

经过当日常类Person中之所以Virtual关键字定义虚方法SayHello(),然后以子类Student中通过override关键字对父类的SayHello()方法开展重写。

如下:

 

Student类

 

Teacher类

 

于Main方法中调用

 

 

 

 

 

王建琦版(更可以方案)

 

 

作业:

 

 

 

Base调用父类构造的原理图

 

 

 

第七章 深入明多态

 

 

1.里氏调换原则:在一个软件系统被,如果子类出现于父类出现的岗位,而尽软件功能以不曾影响,那么我们称为里氏替换。

2.

考试书:父类变量指向子类对象!!

3.里氏替换  是     设计原则的同种植

 七种设计标准   ,写成blogs。

4.Is 和as  

Is 做项目判定,  要惦记拓展父类对象
   到子类  类型的转移,还得用 as

 

5.模拟员工回家——–>父类作为艺术参数

Employee

   —>GoHome(Traffic traffic)

 

Traffic  —父类

   —>Bicycle  (自行车)  

   —>Car

   —>Tube

    

Program

  —>Main

6.大话设计模式

     简单工厂

     单例

     23种植设计模式

 

7.空洞类9好注意点

下次课  手写 抽象类

 

片栽艺术实现多态:

  普通类+  虚方法

 

 

 抽象类+抽象方法

 

 

市面上有所教程 都见面明确指出一个见识 :抽象类不能够实例化 。

潜台词:不克一直以如下代码实例化

     Animal  animal=new Animal();//编译器报错

     Animal animal=new Dog();

间接的经子类构造,隐式   调用  父类构造之样子  来变相的在内存中 产生一个而肉眼不可见的对象。但是不幸之是
 ,作为程序员的我们,无法以到抽象类对象的援(也便是栈上的变量誉为)。

 

 

8.接口   ——-用接口实现多态

 

 

8.青鸟杯  挑战赛

 

 

面试题

重载和重写的分别?

剖析:方法重载在同一个看似吃,

      方法重复写以有限个近乎吃,

 

  1. 将今天上课的情用Word文档做只总结(可以投入关键代码和注释)。
  2. LSP全称写
  3. 154页上机练习1
  4. 第六段简答题没写的,写下
  5. 第七回征收后学业(全部拣和全路发问答题)。

第七节内容总结:

1,实现面向对象的多态性有哇几栽方法?

   总共有3种,第一栽,虚方法实现多态,
 第二栽:抽象方法实现多态  第三种:接口实现多态

   目前为止,我们学了片栽:

  第一种植:虚方法实现多态

经以平常类Person中因故Virtual关键字定义虚方法SayHello(),然后于子类Student中经过override关键字对父类的SayHello()方法开展重写。

如下:

 

Student类

 

Teacher类

 

于Main方法吃调用

 

  第二种:抽象方法实现多态

由此当抽象类Birds中定义抽象方法Fly(),然后以子类【燕子】中对抽象方法Fly()进行再写实现多态,重写方式同虚方法一样,也是使override关键字

Birds类:

 

燕子类:

 

喜鹊类:

 

在Main中调用:

 

2,抽象类可吃延续吗?

  可以,不仅可给普通类继承,也可给抽象类继承

3,抽象方法好来方法体吗?

  不可以,连花括号还未能够生

4,简述抽象方法和虚方法的别?

 课本上

课堂笔记:

    //01.定义一个抽象类,用abstract 修饰

    //02.抽象方法不可知出方法体,甚至并{}都非能够发

    //03.抽象方法只有会存于肤浅类吃,但是抽象类吃可以生出非抽象方法

    //04.抽象类不可知实例化

    //05.抽象类吃架空方法才是故来确定措施的样式(参数,返回值),约束子类方法的花样

    //06.抽象类吃的空洞成员要在子类中全部实现,除非子类也是抽象类

    //07.子类实现抽象方法的快捷键,Ctrl+.(没有输入法情况下 )

    //shift+alt+F10

//08.抽象类不可知为此static修饰,也未能够是暧昧封类(sealed):如果是static,抽象就无法让延续,也尽管夺了抽象类本身的含义

下次课内容:01.提问9点默写

            02.封佯装,继承,多态自己壮大

 

深切理解多态

1.复习

  01.以子类中做客父类成员的最主要字是什么?

  base

  注意点:base()只能用当子类构造中

  02.方重载和方法重复写的别?

  override:在不同之好像吃,一个智用override关键字修饰,那么即便本着父类当中的同名方法进行了重写

  重写的目的:就是为了促成多态,更进一步来说,就是为统一调用

  方法重载:overload:在与一个看似吃,多独方式名称一致,参数列表不跟就可以做重载,和归值类型

  有半毛钱关系

  03.is关键字图?

  解析:判断项目是否配合

2.预习检查

  01.定义抽象类的重中之重字是什么?

  解析:abstract

  02.as重点字的企图是呀?

  解析:as类型转换

  03.抽象类中不得不有抽象方法也?

  解析:可以。抽象方法就会出现于空虚类吃。

 

3.本章目标

  01.清楚里氏替换原则

  02.会以父类类型作为参数

  03.理解抽象类和抽象方法

  04.明亮虚方法和架空方法的分

4.里氏替换原则(7独规范)

概念:在一个软件系统受到,子类可以替换父类出现的位置,而针对性软件的法力没有另外影响,就称为里氏替换原则。

5.is和as

is做项目判定,而as做类型转换,as进行类型转换和()强转效果是当价格的。

6.据此虚方法实现多态的步骤

子类重写父类的虚方法

零星种艺术

创父类变量,实例化子类对象

把父类类型作为参数类型,该子类与子类对象作为参数传入

运作时,根据实际创造的目标说了算履行哪个方法

7.啊是抽象类?

专业人士解析;如果当一个类前增长了abstract关键字,那么该类就叫抽象类

8.飞快在子类中变化有的架空方法

措施一样:在起输入法的情事下,使用Alt+Shift+F10

方式二;在无其它输入法的情下,使用Ctrl+.

    注意事项:01.不能不凭输入法状态

         02.非可知点击小键盘的触及

9.如果一个类用sealed关键字修饰,那么该类就是隐秘封类

   特性:密封类不能够被延续

10.如果为看似用static修饰,那么该类就是静态类,在静态类中具备成员(成员变量和成员方法)都要是静态的脑门儿

 public static class SqlHelper

    {

 

        public static string name;

        public static void Say()

        {

        }

    }

注意点:

01.在静态方法中不可知一直看非静态的措施要变量

若是要是以静态方法中,访问非静态成员,那么只要由此对象名.方法名访问。

11.面向接口编程

 

 

 

 

自身的不得已而永远不懂得,因为自是抽象类

 

招的游说,抽象类是真正要命无容易。在接口没有生的时刻,抽象类还好吹的说我是专业的制定者,但是背后传来一个响声,你唯有见面比手画脚,发号施令,从来还不关乎实事(没有方法体啊)。

 

    于是抽象类即这样叫蒙没了。既然这样,抽象类就毅然决然的搜索在好之闪光点。但是一个个日出  换来了日落,今天之肤浅类还是是抽象类。依然未得以昂头挺胸,气宇轩昂的向JVM索要空间~因为虚无类永远只能new别人,这或许就是《抽象类的殷殷》吧!虽然经种种弄虚作假下,抽象类可以有所谓的对象.

 

 

      例如,通过静态手段,通过子类等,但是,抽象类心里知道,如果创建这样的对象,自己宁可不要。于是,抽象类再次倔强的谢绝了友好成为目标是事实。然而,抽象类的伤心谁会明白,看到一个一个类都new出了团结之美满,抽象类还是当私下的检索着和谐之助益。虽然当时是平等长达裂开满荆棘的悠长长路,但是就像他喜好的平句子话:把握现在,珍惜这,做实在的协调。真的想,有雷同天,抽象类可以以在麦克风大声说,其实我是一个管用的接近。我无单纯是人家的嫁衣,别人的选配。

 

     难道在面向接口编程的今天,我抽象类真的就是从不天日可见矣吧,就因为自身未能够多延续吗?我不服。抽象类有谈得来之构造函数,但是也无能够new,这种无奈谁而能够知晓?难道抽象类的在但是为子类吗?

 

 

     然而刚好抽象类即处在这样一个尴尬的境界。

 

 

   向前同步,你就移动有竞争之序列,永远当面前。

   没有失败,只有小平息成功!—–

   不怕牛人牛X,就恐怖牛逼的人可比你更努力!!!

 

 

 

朝后一样步,你永远无起色的日,堕落,被这个社会最底部的人数踩在时下。不服和抱怨都无济于事

立即就算是切实。

 

Baby::::::

 

****************************************************************************

第八节 网络电视精灵   // 获取与装当前目录(该过程从中启动的目录)的通通限定目录。  System.Environment.CurrentDirectory

2016年3月5日13:50:57

1.无限基础的xml解析的艺术

  Html和xml全称

  01.html:Hyper Text  Markup Language(超文本标记语言)

     Xml:Extensible  MarkUp
 Language(可扩大标记语言)

  02.html暨xml从存储和展示的角度来说:

   Xml侧重Data存储

   Html:侧重Data 显示

  03.office 2007利用xml做多少存储

     百渡过新闻订阅使用的XML技术

     

 

 

 

     

2.关于网络电视精灵架构搭建

网电视精灵

   技能接触支撑:

     –>继承 ,简单工厂 XML文件  泛型集合  IO永久保存数据

 

 

   1.加建筑类架构

     需求分析:

    01.创造一个TvProgram类,和我们files/XXX.xml文件对应

02.每当啊地方解析所有频道的xml文件

 

 

//录制3个钟头之视频。  1.5 单小时 网络电视精灵

                       三种艺术实现多态:虚方法,抽象方法以及接口

                       两只设计模式的blogs。

                      

 

  下次任写!

 

01.哟是设计模式

* 解析:针对一定问题而提出特定的化解方案

能力:最少写

  简单工厂不到底23种植设计模式中的平种,

  工厂

  抽象工厂

        * 2.常用之设计模式总共有23种植,今天之《简单工厂设计模式》和《单例设计模式》

          3.设计模式参考书籍<大话设计模式>  、《设计模式之禅》和 <GOF>

要是我今天了生日,我想订一个Pizza(比萨饼),我思打电话订。我要是来一个养Pizza的工厂。

奶酪pIzza

培根Pizza

02.大概工厂图解

 

团结的平摆设图

 

重复上等同摆图

 

 

03.单例模式

S1  KTV

在某些特殊的场所被,我们需要在内存中单驻留有类的一个靶,KTV点歌系统,播放窗体只待出一个。

 

 

 

1.ASP.NET和JSP的关系

ASP.NET 和JSP都是用来开发动态网站的技术,只不过ASP.NET是通过c#语言来操作的,

而JSP是通过Java语言来操作的。

04.为什么学习XML?

  01.跨平台(操作系统),就是在windowns操作系统和Linux操作系统上均可以被解析

  02.跨开发语言

  03.超市管理系统      一家店   Access(文件型数据库)

    每天看一下每个门市销售业绩         SQL Server数据库      Oralce

先将Access中的数据表导出到Excel文件 

然后将Excel文件中的数据导入到Sql  Server数据库

  04.Java中实现企业级应用缺少了配置文件,那么灵活性就不复存在。

  05.RSS订阅本质上就是一个XML文件

 05.什么是XML?

解析:XML:Extensible Markup Language(可扩展标记语言)

        HTML:HyperLink Text  Markup Language(超文本标记语言)

  xml文件和html文件的区别?

  解析:01.xml严格区分大小写,html不区分

          02.xml不是编译语言,xml和html都是解释型语言

          03.html语言负责显示数据,而Xml文件就是专门用来存储数据

4.GB2312和GBK可以看成是等价的,都可以支持中文。

如果我们在书写xml文件的时候,如果自己用的encoding="utf-8"出现问题,

那么试着切成gb2312

06.xml书写注意点

  1.xml文件严格区分大小写
  2.标签配对出现
  3.xml文档只能有一个根节点
  4.我们自定义xml文档中的标签

07.解析xml文件

  解析:01.做一个xml文档

          02.copy到debug目录下

          03.创建一个XmlDocument对象 Ctrl+.导入命名空间

         04.调用doc.Load(“路径”)

         05.拿到根节点  XmlNode root=doc.DocumentElement;

         06.用foreach来获取子节点内容

08.问题记录

 01.Load(string filename):绝对路径:"D:\123\Singer.xml"

 02.item.Name指定的是<内容>  ,item.InnerText指的是<>内容</>

09.TreeView控件

    01.如何获取选中的节点??

   解析:TreeNode tn=  tvList.SelectedNode;

  02.如何移除某一个选中的节点?

  解析:TreeNode tn=  tvList.SelectedNode;

       tn.Remove();

 03.Tag:属性,以后编程的时候,思路可以向Tag偏移。

Tag:Tag属性是微软提供给编程人员的一个编程接口,通过它可以轻松的实现某些功能。

04.Level深度

 

10.网络电视精灵

  业务需求:市场上有很多网络电视软件:PPS,PPTV,PPLive,风行,暴风

所以我们来开发一款自己的网络电视软件!

  所用技术:

   01.C/S架构,数据存储在XML文件中 

    02.简单工厂模式

    03.继承和多态

    04.解析XML文档技术

   05.深入剖析内存中数据的走向

  06.TreeView控件的使用

核心:通过该项目,大家应该对业务流程有一个整体把控。对继承和多态有深入的了解

 

这篇文章的目的主要为了后续工作的使用,在这里对S2深入.NET平台和C#编程中贯穿案例《网络电视精灵》的部分实现代码进行思路剖析。

  一、项目框架的搭建:

   我们都知道开发一个项目之前,应该对项目的整体框架进行搭建。或者专业一点称为详细设计。解析来我们就来看下网络电视精灵的大致结构,当然后续的功能可能还需要加入其它类。

 思路分析: 

1.创建对应的类

 

TvProgram:节目类

 

 

该类主要负责定义节目的属性,为后续从xml文件中读取的内容提供存放位置。

ChannelBase:频道基类

 

 

TypeAChannel:A类频道

TypeBChannel:B类频道

 

 

ChannelFactory:工厂类

 

 

 

 

上述四个类主要控制频道信息

 

ChannelManager:频道管理类

 

该类主要作用实质上减轻窗体中的代码量。相当于程序的工具类。

 

2013年8月18日

 

任务;加载所有的频道信息,绑定到界面的TreeView上

 

核心思路:

 

    1.首先在频道管理类ChannelManager中写一个加载所有频道方法LoadAllChannel;

 

       该方法作用读取FullChannels.xml文件,并且将读取到的内容赋值给ChannelBase          对象。关键的问题就转化成了如何创建一个ChannelBase对象。我们都知道ChannelBase本身是一个抽象类,无法创建实例。由此,我们想到可以通过其子类来创建对象。由于不同子类实例化需要多次new,我们单独写了一个工厂类(ChannelFafactory),来创建子类实例,但是该子类实例存储在父类变量中。赋值完成后,我们需要将频道对象添加到字典中。那么

 

LoadAllChannel方法结束后,字典中就有了XML文档中的数据。也就是我们实现了将

 

本地硬盘上的xml文件中的数据读取到了内存中的一个字典集合中。

 

 

2.将集合中的数据绑定到TreeView中

将字典集合中的数据通过Foreach拆解,每循环一项,都创建一个TreeNode对象。

并且将集合中的属性赋值给节点对应的属性。然后将拼接处的节点添加到TreeView上

。这里需要注意的是,如何找到TreeView控件中的【所有电视台】这个节点,因为

我们需要在该节点上添加频道名称。代码如下:

 

2013年8月21日

扩展:DGV绑定List<T>

List<T> list=new  List<T>();

dgv.DataSource=new BindingList<T>(list);

 

任务:1.将频道节目单填充到DataGridView中

      2.实现TreeView的右键菜单功能(能添加电台和删除电台)

      3.右键菜单控制

核心思路:

   将频道节目单填充到DataGridView中

     1.在对应的频道子类中书写Fetch方法,解析对应的频道xml文件,然后将xml文件中的数据读取到 public List<TvProgram>  TvList { get; set; }中。

    2.将TvList中的数据绑定到DataGridView上

 

实现TreeView的右键菜单功能(能添加电台和删除电台)

  核心思路:

     1.添加电台

 

 

其实我们在做的事情就是先获取所有电台的某一个电台(北京电视台),然后通过

Tag属性拿到该电台对应的属性,将拆解出来的属性赋值给我的电台下的某一个

节点,由于节点不存在,所以我们要构造出一个节点。然后赋值,赋值完成后,我们就将构造出来的 节点添加到我的电台下就OK。

 

当然,上面的操作仅仅是界面上新增电台的一个假象。程序再次运行时,我们添加的电台并没有保存。所以我们要将选中的电台添加到我的电台(由于我喜欢的电台可能有多个,所以我们定义了一个集合。)集合中。因为我们大家都知道集合中的数据时存储在内存中的,所以我们要向程序下次运行时,显示出我们添加的电台,那么就必须将集合中的数据永久保存。当然我们知道,永久保存数据的方法有很多,在这里我们采取的是使用txt文件的方式,所以我们书写了一个方法来帮我们完成这项工作,sw.WriteLine(“End”)主要为了方便后面对文本文件的读取

归结起来有3点:

  01.在TreeView中添加节点

  02.向集合中添加节点

  03.将集合中数据写入文本文件

删除电台思路与这个差不多!就不赘述了。

右键菜单控制

核心思路:通过Visible属性控制右键菜单的显示和隐藏

 

网电视精灵后续思路

1.点击TreeView上有电视台节点后,显示该频道下拥有的节目单,

将节目只有内容填充到DataGridView控件中。

思路分析:既然TypeAChannel:ChannelBase对应的北京电视台,那么我们得找到保存

北京电视台惨遭颇具节目之xml文件,然后继续该xml文件,每一个<TvProgram>

节点都是一个节目单对象。我单独待用分析出底情加载到聚集中。集合中不怕囤了

无异于密密麻麻TvProgram对象,我只待用欠集绑定到DataGridView上就OK了。

 

DgvList.DataSource=list;

 

在意:在调用Fetch方法之前如果清空下聚集中的数量

//第二节课:完成加载功能

 

2.足以将具有电视台下之某部频道添加到【我的电视台】下

思路分析:

  第一步:将【所有电台】下选中的频段在到【我之电视台下】(假象:内存中操作,程序退出后,数据未保留)

  第二步:IO操作。将当选的节点添加到【我爱的无线电台】集合中,在ChannelManager类中通过

    SaveToTxt()方法将集聚中的数目写入到地方的公文文件中
,并确定文件每行的保存格式。

     TypeA|北京电视台|files/北京电视台.xml,,其中|只是为到上读取文本文件时得以用各国一样行内容

     由字符串转换成对应之属性值。

  

   第三步:01.用文件文件中情节还赋值给集合。

             每读取一行,就是一个ChannelBase对象,然后用欠ChannelBase对象

             添加到集中。

           02.汇聚中生矣数后,再下一致潮用户打开应用程序的早晚,就将聚合中的各国一样桩构造成一个TreeNode节点。

           然后拿该节点作为【我之电视台】下的子节点存在。

           

 

//创建一个文件

using System.IO;

  FileStream fs=new FileStream(“D:\\123.txt”,FileMode.Create);

  //买同样只是钢笔

  StreamWritter sw=new StreamWritter(fs);

  //真正写副内容

  sw.Write(“我喜欢C#课程”);

  //关闭写入器

  sw.Flush();

  sw.Close();

  

  

  fs.Close();

  

 //判断文件是否有

 if(!File.Exists(“E:\\123.txt”))

 {

    //不存的当儿copy

    File.Copy(“D:\\123.txt”,”E:\\123.txt”);

 }

 

 //读取

 

 FileStream fs=new FileStream(“E:\\123.txt”,FileMode.Open);

 StreamReader sr=new StreamReader(fs,Encoding.Default);

 string str=sr.ReadToEnd();

 Console.WriteLine(str);

 sr.Close();

 fs.Close();

 

 

 

 作业         1. 10回路总到  blog文章

              2.下次课程就词:4段 6,7,8,9 (你来判单词)
         两单设计模式,今天xml解析方法,带属性之方案

              // 3.引出网络电视精灵架构搭建

 

第九章 文本操作

 

 

 

 

 

 

其他消息: The process cannot
access the file ‘D:\S2226.txt’ because it is being used by another
process.

 

 

 

 

 

字节

1K=1024

 

 

 

bool            System.Boolean               

4Byte 32bit布尔型变量
 逻辑值,true或者false,默认值为false

byte            System.Byte               

1Byte 8bit无符号平头无符号的字节,所蕴藏的价的限是0~255,默认值为0

sbyte         System.SByte 1Byte

8bit发出标志整数带符号的字节,所蕴藏的值的限量是-128~127,默认值为0

char           System.Char

2Byte 16bit 无符号Unicode字符,默认值为’\0’

decimal      System.Decimal

16Byte 128bit十前行制数不遵守四放弃五称规则之十前进制数,28独有效数字,通常用于财务方面的计量,默认值为0.0m

double       System.Double

8Byte 64bit对精度之浮点类型,默认值为0.0d

float          System.Single

4Byte 32bit单精度之浮点类型,默认值为0.0f

int             System.Int32

4Byte 32bit起记号整数,默认值为0

uint           System.UInt32

4Byte 32bit无符号整数,默认值为0

long          System.Int64

8Byte 64bit来号整数,默认值为0

ulong        System.UInt64

8Byte 64bit无符号整数,默认值为0

object       System.Object

指向类实例的援,默认值为null

short        System.Int16

2Byte 16bit发生号整数,默认值为0

ushort       System.UInt16

2Byte 16bit无符号整数,默认值为0

string       System.String

凭于字符串对象的援,默认值为null

 

持久化:

是用顺序数据在持久状态及转状态之中转移的体制。通俗的讲话,就是瞬时数(比如内存中的数目,是未可知永远保存之)持久化为持久数据(比如持久化至数据库被,能够长期保存)。

 

02.哪拿次第中的数据持久化?

分析:我要用内存中的数保存成硬盘上之公文。Xml
jpg mp3

 

03.一个经文作业?

剖析:如何读取大文本文件??优良解决方案

 

04.通过几个像样来兑现文件的读写

FileStream  fs=new FileStream();//创建有一个文件流

稍许低级类,高级类。让FileStream和StreamReader()

不曾读取器的场面下,也可文件之读取操作

 

 

01.文件操作相关

1.必引入命名空间

2.FileMode枚举

Create:创建一个初文件,如果文件在,覆盖原有内容

Open:指定打开现有文件

CreateNew:新建一个文本,如果文件在,会丢掉来十分 ,该属性一般不用

Append:打开现有文件增加

 

3.当调用Flush方法的上才真的的用内存中的多寡写入到硬盘中。

4.文件操作5单步骤,务必了解

  01.创建一个文书流,本质:指定要为哪个文件被描写副内容(或者说于硬盘的指定位置创建一个拖欠的公文)     白话:买了一张白纸

  02.创办一个写入(读取)器,并指定写入(读取)哪个文件,和硬盘上之文书来关联。

                  白话:买了平付出钢笔

  03.开始确实的写入(读取)

                  白话:开始动笔写篇

  04.关门写入(读取器)

                  白话:停止编写文章,盖达钢笔冒

  05.关闭流:

                  白话:将白纸折叠收藏

 

02.File和Directory

File常见方法:

 

Directory常见方式:

 

 

03.FileInfo和 DirectoryInfo 

 

1.IO操作

1.要我们用对硬盘上之目(文件夹)或者文件进行操作,在C#受得引入System.IO命名空间。

2.如何对文件文件进行读写???

剖析:注意点:如果读取文件出现乱码情况,通过Encoding.Default或者是Encoding.UTF-8来化解,如果我们想用GB2312方式可以Encoding.GetEncoding(“GB2312”);

3.File (文件)    Directory(文件夹,目录)

File类和Directory类都是静态类,可以直接接触来相应的法。

FileInfo DirectoryInfo 非静态类,需要先创建对象,然后再来用

嘿时使用File,什么时候利用FileInfo???

分析:一般要对文本之几近只属性进行操作的时候,就是用FileInfo,因为该效率高。一般判断硬盘上一个文本是否有,直接采用File.Exitst()

作业:

1.第11段征收后写

2.第11章总结

3.看押网络电视精灵后续内容

   加载出频道下相应的节目单,包括右键菜单的丰富和去

   以及本人的电台:通过Txt保存

4.圆资源管理器,查询如何双击打开对应之文件类型

5.产生趣味的同校可以写小说阅读器。

 

4.折算过程

 

1TB=1024GB

1GB=1024MB

1MB=1024KB

1K=1024字节(byte)

1byte=8bit(1111  1111)

 

 

作业:1.趴着

      2自己再管昨天xml解析

      3同4 java汽车租赁体系

      资源管理器

04.序列化与反序列化

 

对象:UserInfo类型:

      UserName :微冷的暴风雨

      UserAge     18

      UserAddress  北京海淀

 

序列化是拿   对象状态     转换为     可涵养或只是传输格式  的经过。与序列化相对的是倒转序列化,它以流转换为对象。这点儿个经过结合起来,可以轻松地囤积和传输数据。

 

 

 

 序列化注意事项:

 01.如果打定义类需要吃序列化,那么要于及[Serializable]特性

 02.须保证可列化类的保有属性也全好序列化

 03.必须管可列化类的父类也得序列化

 04,如果仅序列化部分性,不需要序列化的性上可以于及[NonSerializable]特性

 

 

 

第十章 电影院售票系统

仿佛的架构图

技巧先导 :动态生成标签 35单Label

急需用35Label放入TabControl中。如何Render(渲染)称为了无以复加深的问题

1.于内存中准备一个Label  直接new即可  

2.外存中的Label如何绑定到Form1上。

3.

 

 

 

 

1.从Movie开始

枚举和好像在一如既往级别

 

电影属性—–>电影名称   海报恩图片名
  导演名  主演名  电影类  电影定价

 

 

 

 

 

2.Seat 座位类

 

3上映场次

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website