在十一分桃花盛放的时节,大家在雨天学习泛型集结

深入.NET平台和C#编程

          之蛇岛奇功

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

 

船舶停靠在港湾是很安全的,但这不是造船的目标

          –浙紫铜色鸟五道口校区原玉明先生编写制定

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

1.上学方法: 3

第一章 深入.NET框架 5

1.NET简约表达 5

2.Microsoft .NET框架概述。 7

  1. NET框架体系布局 9

4.封装浮现   李明瑞 14

5..那个年大家学过的探访修饰符?? 14

6.变量,类和措施的命名法 15

7.new:代表意义: 15

8.字段和个性不相同? 15

9.自动属性 15

10.vs2011下写的类型怎么在vs二〇〇八中开采 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

第八章 互联网TVSmart   // 获取和装置当前目录(该进程从中运维的目录)的完全限定目录。  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.网络电视机Smart 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.将K电视系统代码产生BLog小说,而且附有解释,注释!

 

 

03.在享有讲过的S1课程中,书写一篇有本事含量的blog,能够是目的数组,能够是K电视机项目标效能点对知识点的应用把控。

 

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历史

  3000年微软公司向满世界公布其革命性的软件和服务平台: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服务

   举例:天气预先报告服务i谷歌和耗费宝英特网购物超级市场

  003,数字身份验证的帮衬

  004,协理创设.NET程序的炫人眼目外衣(特效制作)

3.NET框架体系布局

   01.NET框架种类布局

 

 

 

ADO.NET概念?

分析:ADO.NET是微软提供的一组类库,能够援助技术员和数据库交互。他当中有四大指标(DataReader,DataAdapter,Command,Connection).

直接咨询

 

二年:世界上有二种人:能看懂二进制的人和不能够看懂二进制的人

02,公共语言运转时

\

CL揽胜极光的多少个组成都部队分

CTS:称为通用项目系统

      定义了在IL中的数据类型

CLS:称为公共语言专门的学问

席卷二种面向对象的编制程序语言的通用作用。

     03,.NET框架类库

       

 

Scanner

Arrays

 

1.NET阳台下的语言

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

2.

  vs2013  4.5

  vs二〇一二对应框架的版本是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)和集体语言运营时(CLEnclave:common language
Runtime)

4.CL中华V带有两部分:

浅析:公共语言专门的学业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.CL812 Superfast里边足足三局地:

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.vs二零一一下写的系列怎么在vs20第10中学开发

手续一:找到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重用;

第二:不必关切具体的落到实处; (方法)

其三:面向对象三大特色之一;

第四,具备安全性!

小孩儿

Colin C.Shu37《四世同堂》 妞子 活活的给饿死

黄磊

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.看此次课10个知识点

2.数组题

 

 

3.末段SE Voter手动敲三回

4.Computer编号 ,主管评分

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入手脚,然后让他匡助对应格式的打字与印刷。

 

二零一四年七月二十14日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存储学生集聚

增添三个学生(周Jay(Zhou Jielun),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.vs二零一一下写的品种什么在vs20第10中学开荒 14

11.作业环节 14

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

CLR via C# 14

  1. 封装 14

  2. 至于数组的那一个事情 15

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

  4. 结构体 20

5.构造函数 21

6.装箱和拆箱 22

  1. 值传递和援引传递 23

8.经文演习  COO评分 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

第八章 互连网TVSmart   // 获取和设置当前目录(该进度从中运行的目录)的一丝一毫限定目录。  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承载出来

 

案例:通过遥控调整TV的开关和切换频道功效

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cinema:电影院

播出铺排

放映厅(50)

 

Seat

 

Ticket

热播布署

 :Movie

枚举

   时间

 

Movie

 

 

小车租借系统

互连网TV精灵

体格检查套餐系统

职员和工人打卡系统

 

「上课,是教您全世界都已经申明并且早就知晓的实际情状,上课的目标,是要让您学人家花非常的多时日整理和汇总的文化,而令你日后再念书的路上,无需再走二次,再造三遍轮子」

 

 

 

其三方组件

 

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++的实物,他是帮忙多一连的言语,猛然有一天,12个程序猿用多两次三番,有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::::::

 

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

第八章 网络TV精灵   // 获取和设置当前目录(该进度从中运行的目录)的通通限定目录。  System.Environment.CurrentDirectory

2016年3月5日13:50:57

1.最基础的xml深入分析的格局

  Html和xml全称

  01.html:Hyper Text  马克up Language(超文本标识语言)

     Xml:Extensible  马克Up
 Language(可扩大标识语言)

  02.html和xml从存款和储蓄和显示的角度来讲:

   Xml侧重Data存储

   Html:侧重Data 显示

  03.office 二零零六运用xml做多少存款和储蓄

     百度音信订阅使用的XML技术

     

 

 

 

     

2.关于网络电视机Smart架构搭建

互连网TVSmart

   本事点支撑:

     –>承接 ,轻易工厂 XML文件  泛型集结  IO永世保存数据

 

 

   1.搭建项目架构

     供给分析:

    01.开立三个TvProgram类,和大家files/XXX.xml文件对应

02.在哪些地点深入分析全体频道的xml文件

 

 

//录制3个钟头的摄像。  1.5 个小时 网络TVSmart

                       二种格局完成多态:虚方法,抽象方法和接口

                       八个设计形式的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属性控制右键菜单的显示和隐藏

 

网络TVSmart后续思路

1.点击TreeView上有个别广播台节点后,显示该频道下有所的节目单,

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

思路解析:既然TypeAChannel:ChannelBase对应的日本东京电视台,那么大家必要找到保存

法国首都电视机台南享有节指标xml文件,然后继续该xml文件,每多个<TvProgram>

节点都以一个节目单对象。笔者只要求将解析出的剧情加载到聚聚焦。集结中就存储了

一文山会海TvProgram对象,作者只需求将该集结绑定到DataGridView上就OK了。

 

DgvList.DataSource=list;

 

小心:在调用Fetch方法在此以前要清空下聚集中的数据

//第一节课:完毕加载效能

 

2.足以将具有广播台下的某部频道增添到【小编的广播台】下

思路深入分析:

  第一步:将【全数广播台】下选中的频段步入到【作者的电台下】(假象:内部存款和储蓄器中操作,程序退出后,数据不保留)

  第二步:IO操作。将当选的节点加多到【小编爱好的有线电视台】集结中,在ChannelManager类中经过

    SaveToTxt()方法将群集中的数据写入到地点的公文文件中
,并规定文件每行的保留格式。

     TypeA|Hong Kong广播台|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.引出网络电视Smart架构搭建

 

第九章 文件操作

 

 

 

 

 

 

另外消息: 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十进制数不信守四舍五入准则的十进制数,贰16个有效数字,常常用于财务方面包车型大巴测算,暗中同意值为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 mp5

 

03.四个经文作业?

浅析:如何读取大文本文件??卓越消除方案

 

04.经过多少个类来贯彻文件的读写

FileStream  fs=new FileStream();//创设出三个文本流

稍稍低端类,高档类。让FileStream和Stream里德r()

不曾读取器的事态下,也足以文件的读取操作

 

 

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.看互连网TVSmart后续内容

   加载出频道下相应的节目单,包含右键菜单的丰裕和删除

   以及小编的广播台:通过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]特性

 

 

 

第十章 影院订票系统

类的架构图

手艺开首 :动态生成标签 叁拾四个Label

须要将35Label归入TabControl中。怎么着Render(渲染)称为了最大的主题素材

1.在内部存款和储蓄器中希图三个Label  间接new就能够  

2.内部存款和储蓄器中的Label怎么着绑定到Form1上。

3.

 

 

 

 

1.从Movie开始

枚举和类在一如既往品级

 

影片属性—–>电影名称   海报图片名
  编剧名  主角名  电影项目  电影定价

 

 

 

 

 

2.Seat 座位类

 

3播出场次

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章