澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

个人计算浓烈,大家在雨天学习泛型集合

2019-11-24 作者:www.8455.com   |   浏览(118)

深入.NET平台和C#编程

简轻巧单认知.NET框架

个人总括深刻.NET平台和C#编程,

  前言:学习C#编程应该有多少个月了,作为多个新手,未有资格来争辨怎么。独有对友好所学进行二个总计,只怕有不小心谨慎的地点,万望谅解。

         一·深入.NET框架

      .NET框架(.NET Framework卡塔 尔(英语:State of Qatar),他是开采.NET应用程序的主题底蕴。

.NET框架的系统布局

  支持C#、VB、.NET、c 、等语言的耗费,相当于大家所说的跨语言开辟。

.NET框架具备七个珍视组件:CL奥迪Q7和FCL。(CLRAV4是Common Language Runtime即公共语言进行时;FCL是Framework Class Library即框架类库卡塔 尔(英语:State of Qatar)

.NET框架主旨类库及其效能

澳门新萄京官方网站 1

 

类和指标

类定义了大器晚成组概念模型,而目的是真实的实体。

set访谈器只写;get访谈器只读。

在vs中活动属性prop 双击Tab键

封装

 1.保障数据的安全性。

2.提供明晰的对外接口

3.类内部能够恣心所欲改正,不影响此外类。

类图

澳门新萄京官方网站 2

 

二.深入C#数据类型

值类型应用场目

值类型蕴含大旨数据类型,和枚举类型,结构体等。

引用类型包涵string 数组,类和接口。

结构体:

可以有字段,能够有办法。

概念时字段无法被赋初值。

不要new。申明结构对象后必得给组织成员赋初值。

拆箱和装箱

示例:

int a=1;

object o=i;//装箱

int j=(int)o;//拆箱

值传递和援引传递

援用类型作为参数时:
1、在改善变量本人时,结果近似于值传递,即不会转移传递前的变量的值
2、在改进变量的属性或字段时,才是援引传递,会影响到传递前的变量的值
3、参数使用了ref后,才是实在的援用传递,不管改革变量本人依然纠正变量的质量或字段,都会潜濡默化到传递前的变量的值

值传递:传的是指标的值拷贝。(即函数内部参考新闻数对象是调用时传递的对象的栈中对象的正片。)
引用传递:传的是栈中对象的地址。(即函数内部参考音信数对象与调用时传递的对象完全部是如出意气风发辙栈中指标。)

三.使用集结协会有关数据

System.Collections 命名空间满含接口和类,那么些接口和类定义种种对象(如列表、队列、位数组、哈希表和字典卡塔尔的聚众。
System.Collections.Generic 命名空间包涵定义泛型集结的接口和类,泛型集合允许客商创立强类型集合,它能提供比非泛型强类型集合更加好的品种安全性和质量。
System.Collections.Specialized 命名空间包括专项使用的和强类型的会见,举个例子,链接的列表词典、位向量以致只包括字符串的汇集。

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList();

            Console.WriteLine("遍历方法一:");
            foreach (int item in list)//不要强制转换
            {
                Console.WriteLine(item);//遍历方法一
            }

            Console.WriteLine("遍历方法二:");
            for (int i = 0; i < list.Count; i  )//数组是length
            {
                int number = (int)list[i];//一定要强制转换
                Console.WriteLine(number);//遍历方法二

            }
        }
    }
}

  1、哈希表(Hashtable)简述
     在.NET Framework中,Hashtable是System.Collections命名空间提供的三个器皿,用于拍卖和显现雷同key/value的键值对,在那之中key平常可用来神速找寻,同期key是分别朗朗上口写;value用于存款和储蓄对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable能够援救其余项指标key/value键值对.

2、哈希表的简单操作
在哈希表中增添三个key/value键值对:HashtableObject.Add(key,value);
在哈希表中删除有些key/value键值对:HashtableObject.Remove(key);
从哈希表中移除全体因素:                HashtableObject.Clear(); 
看清哈希表是还是不是带有特定键key:         HashtableObject.Contains(key);
遍历

foreach(DictionaryEntry item in Hashtable)

{

item.Key;

item.Values;

}

泛型最普遍的用场是泛型集合,命名空间System.Collections.Generic 中带有了有些依据泛型的集结类,使用泛型集结类能够提供更加高的种类安全性,还应该有更高的性能,幸免了非泛型群集的再一次的装箱和拆箱。 
    超多非泛型会集类都有照望的泛型群集类,上面是常用的非泛型集结类以致相应的泛型集结类:

非泛型集合类 泛型集合类
ArrayList List<T>
HashTable DIctionary<T>
Queue Queue<T>
Stack Stack<T>
SortedList SortedList<T>

 单列泛型会集: List<Object> list=new List<Oibject>(); 遍历 for(int i=0;i<list.Count;i ) {   Console.WriteLine(list[i]); } foreach(Object item in list) {   Console.WriteLine(item); } 双列泛型会集Dictionary<object,object> dic=new Dictionary<object,object>(); 遍历 foreach(KeyValuePair<object,object> item in dic) { Console.WriteLine(dic.Key); Console.WriteLine(dic.Value); } foreach(Object item in dic.Keys) {  Console.WriteLine(item);   Console.WriteLine(dic[item].Value); } foreach(Object item in dic.Values) {  Console.WriteLine(item); } 四.浓重类的格局 1.构造函数 (1.卡塔 尔(阿拉伯语:قطر‎方法名与类名相通 (2.卡塔 尔(阿拉伯语:قطر‎未有重返值 (3.卡塔尔首要产生指标早先化专门的工作2.无参构造函数的 语法 访谈修饰符 类名() {  //方法体 }  3.带参构造函数 语法 访谈修饰符 类名(参数列表) {  //方法体 }  隐式构造函数 系统活动给类抽成三个无参构造函数。 构造函数的重载 无参构造和带参构造能够当做是艺术重载。 方法重载 (1.卡塔尔国方法名相通(2.卡塔 尔(英语:State of Qatar)方法参数类型分裂或然参数个数分裂 (3.卡塔 尔(阿拉伯语:قطر‎在同二个类中 对象交互各个类都有和谐的特征和成效,大家把它们封装为属性和措施。对象之间通过质量和艺术实行相互作用。能够感觉方法的参数及格局的重返值都以指标间相互传送音讯。 个人知道,他为什么叫对象间互为呢。因为是目标间开展的属性方法交互作用。而类之间张开的后续多态接口。  六.初识世袭和多态 世襲概述 1.哪些是世襲 (1卡塔尔国移除类的冗余代码 (2卡塔 尔(英语:State of Qatar)集成的概念 2.base根本字和protected修饰符

public class Person
{
protected string ssn = "111-222-333-444" ;
protected string name = "张三" ;
public virtual void GetInfo() {
Console.WriteLine("姓名: {0}", name) ;
Console.WriteLine("编号: {0}", ssn) ;
}
}
class Employee: Person
{
public string id = "ABC567EFG23267" ;
public override void GetInfo() {
// 调用基类的GetInfo方法:
base.GetInfo();
Console.WriteLine("成员ID: {0}", id) ;
}
}

  

3.子类构造函数 (1卡塔尔国隐式调用父类构造函数 (2卡塔尔突显调用父类构造函数  世袭的行使 世袭、封装和多态是面向对象编制程序的基本点特征。
其成员被接续的类叫基类也称父类,世袭其成员的类叫派生类也称子类。
派生类隐式得到基类的除构造函数和析构函数以外的富有成员。 派生类只好有一个一贯基类,所以C#并不帮忙多重世襲,但五个基类能够有多少个平昔派生类。
气吞山河是能够传递的。
私家成员其实早就被三番三回了,只是它们却不可以被访谈,因为个人成员只好被声称它们的类或结构体中才可访问,所以看上去疑似未有被接续。**

 万风流倜傥基类中是绝非参数的构造函数

即便基类中是从未有过参数的构造函数,在派生类中能够自定义有参数的构造函数 即使基类定义了含有参数的构造函数,那么此构造函数必需被施行,且在派生类中实现该构造函数,那时大家得以接收base关键字   假设派生类的基类也是派生类,则每一种派生类只需负责其一直基类的布局,不肩负直接基类的结构,
再正是其奉行构造函数的各类是从最上边的基类最初的,直到最终几个派生类截止。
is a的应用 由于SE和PM都继承Employee,即SE is a Employee,PM is a Employee. 世袭的市场股票总值: (1.卡塔 尔(阿拉伯语:قطر‎集成模拟了实际世界关系,oop中重申任何皆对象,那切合我们面向对象编制程序的考虑方式 (2.卡塔尔国世袭达成了代码复用 (3.卡塔尔国集成使程序结构更分明 多态 减轻集成带给的主题素材 虚方法 选拔virtual关键字修饰的点子,称为虚方法。虚方法有方法体 语法 做客修饰符 virtual 再次回到类型 方法名()  {     //方法体  } 重写虚方法 访谈修饰符 override 再次来到值类型 方法名() { //方法体 } 什么是多态 多态按字面包车型大巴情致正是“三种样子”,指同大器晚成操作作用不一样的对象时,能够有分化的疏解,产生差异的结果。 福寿齐天多态 (1.卡塔 尔(阿拉伯语:قطر‎达成形式重写 (2.卡塔尔定义父类变量 七.中肯领会多态

里氏替换原则

在多个软件系统中,子类能够替换父类现身的职责,而对软件的职能未有任何影响,就称为里氏替换原则。

子类能够扩展父类的法力,但不能够更改父类原有的机能。 子类能够完结父类的抽象方法,但无法隐瞒父类的非抽象方法。 子类中能够追加自身有意的方法。

当子类的措施重载父类的措施时,方法的放到条件(即方法的形参卡塔尔要比父类方法的输入参数更加宽松。

当子类的法门达成父类的肤浅方法时,方法的前置条件(即方法的重返值卡塔 尔(阿拉伯语:قطر‎要比父类更严刻。

看起来很难以置信,因为大家会发觉在谐和编制程序中平常会违反里氏替换原则,程序依然跑的能够的。所以我们都会发出这么的疑团,假设小编非要不坚决守住里氏替换原则会有如何后果?

后果就是:你写的代码出题目标可能率将会大大扩充。

例如: Father son=new Son();

C#中有七个基本点字能够提现里氏替换原则:is和as操作符 is操作符用于检核对象和点名的项目是不是合营。 as操作符主要用来多少个对象时期的类型转变。

父类类型做参数

示范: 先给多少个类: 1.父类,交通工具类。有一群属性。 2.小车类,继承父类。 3.地铁类,世袭父类。 4.职员和工人类。工作者乘坐四通八达工具回家!职员和工人归家的办法,参数是父类对象!

接下来建二个职员和工人的集纳,初阶化工作者. 扔到会集里。就和=能够用集结的项点出职员和工人回家的办法传多个子类! 总括那正是子类指向父类!约等于所谓的里氏替换原则!

抽象类和架空方法

假定一个类不与具象的东西相联系,而只是抒产生机勃勃种浮泛的概念,仅仅是充任其派生类的一个基类,那样的类正是抽象类,在抽象类中声称方法时,倘使加上abstract时就是虚幻方法

抽象类与非抽象类的显要不同:

·抽象类不能够一贯被实例化

·抽象类中得以蕴涵抽象成员,但非抽象类中无法

·抽象类不能够是密封的如故静态的

泛泛方法是多个并未有兑现的办法,通过在定义方法时增添最首要字abstract能够声明抽象方法。

虚幻方土耳其语法

拜访修饰符 abstract 再次回到值类型 方法名(卡塔 尔(英语:State of Qatar);

瞩目:抽象方法未有关闭的大括号,而是一贯跟了个“;”也等于说,它并没有富含方法推行逻辑的方法体!

抽象类的概念

语法: 访谈修饰符 abstract class 类名{}

瞩目: 抽象类提供的悬空方法,那几个点子独有定义,如何促安特卫普由抽象类的非抽象子类达成。

抽象类和架空方法的施用

怎么着完结三个虚无父类派生的子类 当从三个架空父类派生一个架空子类时,子类将世袭父类的装有特征,包括它未贯彻的抽象方法。抽象方法必得在子类中完成,除非他的子类也是抽象类。

抽象类和抽象方法的选取

何以促成二个抽象父类派生的子类 当从贰个空洞父类派生三个空洞子类时,子类将三番两回父类的享有特征,富含它未落实的架空方法。抽象方法必得在子类中得以达成,除非他的子类也是抽象类。

面临对象的三大特点

包裹:保障对象自己数据的完整性和安全性

一而再:创立类之间的涉嫌上,实现代码复用,方便系统的强盛。

多态:相近的秘技调用可完毕分化的落真实景况势。

八.可扩张标志性语言XML

生龙活虎、XML是怎么着?效率是如何?

l  XML ( eXtensible 马克up Language )语言是生机勃勃种可扩张的标记语言。个中的可增加是对峙HTML来讲的。因为XML标签未有被预订义,供给客商自行定义标签。

l  XML 被设计的宏旨是:是意味着数据,而非显示数据。

操作XML的方法

解析XMl文件

public static void Main(string[] args)

{  

    XmlDocument doc=new XmlDocument():

    doc.Load("Engineer.xml");

     XmlNode root=new XmlNode();

      foreach(XmlNode item in doc.ChildNodes)

      {

           switch(node.Name)

            {

                case "id":

                  Console.WriteLine(node.InnerText);

                   break;

            }

      }

}

 用TreeView彰显数据

XmlDocument doc = new XmlDocument();
            doc.Load("北京电视台.xml");
            XmlNode root = doc.DocumentElement;
            //找根节点  
            foreach (XmlNode item in root.ChildNodes)//遍历子节点
            {
                if(item.Name.Equals("tvProgramTable"))//判断条件是节点的Name是否是"tvProgramTable"
                {
                    foreach (XmlNode items in item.ChildNodes)//遍历子节点的子节点
                    {
                        TvProgram Tp = new TvProgram();
                        Tp.PlayTime = Convert.ToDateTime(items["playTime"].InnerText);
                        Tp.Meridien = items["meridien"].InnerText;
                        Tp.Path = items["path"].InnerText;
                        Tp.ProgramName = items["programName"].InnerText;
                        ProgramList1.Add(Tp);//绑定到集合
                    }
                }

            }
TreeNode minenode = new TreeNode();
            minenode.Text = "我的电视台";

            //bind
            tvList.Nodes.Add(minenode);

            //根节点
            TreeNode root = new TreeNode();
            root.Text = "所有电视台";
            //bind
            tvList.Nodes.Add(root);

            ChannelManager manager = new ChannelManager();
            manager.ResolveChannels();
            List<ChannelBase> list = manager.List;
            foreach (ChannelBase item in list)
            {
                TreeNode tn = new TreeNode();
                tn.Text = item.ChannelName;
                tn.Tag = item;
                root.Nodes.Add(tn);

            }

  九.文件操作

哪些读写文件

引入using.System.IO;

string path=txtFilePath.Text;

string content=txtContent.Text;

if(path.Equals(null)||path.Equals(""))

{

 MessageBox.Show("文件的门径不为空");

return;

}

try

{

FileStream nyfs=new FileStream(path,FileMode.Create)

streamWriter mysw=new StreamWriter(myfs);

mysw.Write(content);

mysw.Close();

myfs.Close();

MessageBox.Show("写入成功");

}

catch(Exception ex)

{

MessageBox.Show(ex.Message);

}

文件流

语法

FileStream 文件流对象=new FileStream(string filePath,FileMode fileMode);

文件读写器

StreamWriter 写入器

StreamWriter mysw=new StreamWriter();

焚林而猎乱码难题

FileStream myfs=new FileStream(path,FileMode.Open)

StreamReader mySr=new StreamReader(myfs,Encoding.Default);

content=mySr.ReadToEnd();

txtContent.Text=content;

文件和目录操作

File类和Directory类

File类常用的办法

Exites(string path) 用于检查内定文件是还是不是存在

copy()复制文件

Move()移动文件

Delete()删除文件

示例 小型能源微处理机

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Chap09_资源管理器
{
    class MyFile
    {
        public string FileName { get; set; }
        public long FileLength { get; set; }
        public string FileType { get; set; }
        public string FilePath { get; set; }
    }
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;

namespace Chap09_资源管理器
{
    public partial class FrmMain : Form

    {
        public FrmMain()
        {
            InitializeComponent();
        }

        private void FrmMain_Load(object sender, EventArgs e)
        {
            DriveInfo[] di = DriveInfo.GetDrives();
            foreach (DriveInfo item in di)
            {
                TreeNode tn = new TreeNode(item.Name);
                tn.Tag = item.Name;
                tvList.Nodes.Add(tn);

            }


        }
        public void BindInfo(TreeNode node)
        {
            try
            {
                lvList.Items.Clear();
                DirectoryInfo dir = new DirectoryInfo(node.Tag.ToString());
                DirectoryInfo[] dirs = dir.GetDirectories();
                foreach (DirectoryInfo item in dirs)
                {
                    TreeNode tn = new TreeNode();
                    tn.Text = item.Name;
                    tn.Tag = item.FullName;
                    node.Nodes.Add(tn);
                }
                FileInfo[] fi = dir.GetFiles();
                List<MyFile> files = new List<MyFile>();
                foreach (FileInfo item in fi)
                {
                    MyFile mf = new MyFile();
                    mf.FileName = item.Name;
                    mf.FileLength = item.Length;
                    mf.FileType = item.Extension;
                    mf.FilePath = item.FullName;
                    files.Add(mf);
                }
                foreach (MyFile item in files)
                {
                    ListViewItem items = new ListViewItem(item.FileName);
                    items.SubItems.Add(item.FileLength.ToString());
                    items.SubItems.Add(item.FileType);
                    items.SubItems.Add(item.FilePath);
                    lvList.Items.Add(items);
                }

            }
            catch (Exception ex)
            {

                MessageBox.Show("" ex.Message);
            }

        }

        private void tvList_AfterSelect(object sender, TreeViewEventArgs e)
        {

            TreeNode node = this.tvList.SelectedNode;
            this.BindInfo(node);

        }

        private void lvList_DoubleClick(object sender, EventArgs e)
        {
            Process.Start(lvList.SelectedItems[0].SubItems[3].Text);
        }

        private void 复制ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            DialogResult result = fbd.ShowDialog();
            string sourcePath = lvList.SelectedItems[0].SubItems[3].Text;
            string desPath = null;
            if(result==DialogResult.OK)
            {
                desPath = fbd.SelectedPath;
                desPath  = "\"   lvList.SelectedItems[0].SubItems[0].Text;
                File.Copy(sourcePath,desPath);
                MessageBox.Show("复制成功");
            }

        }

        private void 删除ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            lvList.Items.Clear();
           string deletePath=lvList.SelectedItems[0].SubItems[3].Text;
            File.Delete(deletePath);
            MessageBox.Show("删除成功");
        }
    }
}

  澳门新萄京官方网站 3澳门新萄京官方网站 4

 

开发银行后正是这么能够读出自身硬盘上的事物!

好了就写到那了。总括到此地了。

前言: 学习C#编制程序应该有多少个月了,作为贰个新手,未有身份来评价如何。独有对团结所学实行叁个总计,...

          之天羽奇剑

先是我们得清楚 .NET框架具备多少个根本组件:公共语言举行时CL中华V(Common Language Runtime卡塔尔国和框架类库FCL(Framework Class Library卡塔 尔(英语:State of Qatar)

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

配图:

 

澳门新萄京官方网站 5

船只停靠在港湾是很安全的,但那不是造船的指标

.NET的编写翻译过程:

          --武深绿鸟五道口校区原玉明先生编写制定

配图:

                             By:南开青鸟五道口原玉明老师

澳门新萄京官方网站 6

1.读书方式: 3

里头,CL凯雷德还满含通用处目系统CTS(Common Type System卡塔尔和集体语言专门的职业CLS(Common Language Specification卡塔尔国

第一章 深入.NET框架 5

.NET框架大旨类库及其职能

1.NET归纳解释 5

配图:

2.Microsoft .NET框架概述。 7

澳门新萄京官方网站 7

  1. NET框架连串布局 9

C#言语要编制程序可以被CPU深入分析执行的代码须要三回编译:

4.封装体现   李明瑞 14

率先次编写翻译:将C#语言因此C#编写翻译器编译成MSIL中间代码

5..那些年我们学过的拜候修饰符?? 14

第二回编写翻译:将MSIL代码通过即时编译器编写翻译成CPU能够解析实践的代码,或然成为

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

Java程序想要被CPU解析施行也急需两回编写翻译:

7.new:代表意义: 15

先是次编写翻译:将后缀名称为java的文件通过Java编写翻译器编写翻译成后缀名字为.class文件

8.字段和性质差距? 15

其次次编译:将.class文件通过Java设想机编写翻译成CPU能够解析的代码

9.自动属性 15

面向对象

10.vs二零一二下写的花色什么在vs20第10中学张开 16

面向对象三大特征:封装,世襲和多态

11.功课环节 16

那几个年大家学过的拜望修饰符:

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

public :任何任务,富含跨程序集

CLR via C# 16

internal:在日前前后相继集中都得以访谈

  1. 封装 16

  2. 至于数组的那三个事情 17

  3. 值类型(在栈上存款和储蓄真实的值卡塔尔国和援引类型(堆和栈上都要分配空间) 17

  4. 结构体 22

private:只好在最近类中做客(当前类的花括号中访问卡塔 尔(阿拉伯语:قطر‎

5.构造函数 23

protected:只可以在当前类和子类中利用

6.装箱和拆箱 24

变量,类和措施的命名

  1. 值传递和援引传递 25

骆驼命名法:第贰个单词的首字母小写,后续有意义的单词首字母大写。 变量

8.精粹演练  老董评分 26

帕斯卡命名法:每四个单词的首字母大写 类和艺术

其三章 使用集结组织相关数据(终极内存数据容器卡塔尔28

new:代表的意义

风姿洒脱、集合概念引进 30

1.创造对象

二、 第一个集结ArrayList的应用 31

2.开垦空间

★1.引子: 31

3.机动调用构造函数

★2.集合扩大体积原理截图 32

字段和性质的界别

三、集结夷则素操作(增多,遍历,删除、经常见到错误)34

1.属性无法保留数据,真正保存数据的是字段。

1.不可枚举属性: 34

2.属性是开玩笑的,字段是必得的。

2.常用艺术: 34

3.如若字段只是让类内部访问,那么设置成private,借使想找壹当中间者,在Main方法中做客到类中的私有字段,那么属性能够是生机勃勃种接纳。

  1. 大规模错误:见PPT 34

自动属性

4.实地编制程序 35

概念:当为大家不需求进行逻辑判别时能够使用自动属性。 定义自动属性在后台会自行帮大家调换三个对应数据类型的私家字段 

四、集结初阶化器,对象开端化器 36

CL奥迪Q5的首要用项:

五、HashTable 36

CL奥德赛是全体.NET程序运转的条件,是全体.NET应用程序的编程底蕴,全体.NET受CL陆风X8幽禁和管理,这一个操作包含经过内的应用程序加载,将IL转换为GG,

★1.HashTable注意事项 37

不行管理,垃圾回笼,加载程序集

澳门新萄京官方网站,★2.对HashTable遍历三种方案: 37

深入C#数据类型

六、泛型会集List<T>(精通difficult,写起来easy卡塔尔 40

值类型和援引类型

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

值类型:是在栈上存款和储蓄真实的值 援引类型:在栈和堆上都开荒空间

八、 自定义泛型 40

值类型:int double float boolean char byte long short 枚举 结构体

九、.NET集结框架(会集扩大卡塔 尔(阿拉伯语:قطر‎ 41

援用类型:int[] class 接口(interface) string

Queue(队列): 42

结构

Stack(栈): 42

定义:

第四章 深刻类的章程 44

澳门新萄京官方网站 8

1.构造函数 44

访问修饰符  struct  结构名{            // 结构体 }例:public struct Student{      //结构体}

2.主意重载(考试必考:2到3分卡塔 尔(阿拉伯语:قطر‎ 45

澳门新萄京官方网站 9

  1. 对象间的相互 45

注意点:

第六章 继承 51

1.在结构中得以有字段和情势

黄金年代、课程回看 51

2.概念结构时,结构中的字段无法被赋初值

二、预习难点 52

3.得以毫不new,直接定义结构的目的就能够

三、本章指标 52

4.宣称结构的对象后,必需给组织的分子赋初值

四、课程内容 53

5.结构体也是意气风发种新鲜的值类型

3.继承: 53

装箱和拆箱

第七章 浓烈精通多态 60

将值类型调换为援用类型的长河称为装箱,反之称为拆箱

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

示例:

其次种:抽象方法达成多态 65

澳门新萄京官方网站 10

第八章 互连网TVSmart   // 获取和装置当前目录(该进度从中运行的目录)的通通限制目录。  System.Environment.CurrentDirectory 69

static void Main(String[] args){    int i=123;    oject o=i;  //装箱    i=456;   //改变i的内容   Console.WriteLine("值类型的值:{0}",i);    Console.WriteLine("引用类型的值:{0}",o); }

01.什么样是设计格局 72

澳门新萄京官方网站 11

02.简易工厂图解 73

不等档期的顺序的参数字传送递
值格局参数字传送递:传递数据类型是值类型,未有ref在措施中不会保留

03.单例方式 75

传递数据类型是引用类型,未有ref在章程中会永恒保存

04.怎么学习XML? 77

援引方式传送:不管有没有ref都会永世保存

 05.什么是XML? 77

澳门新萄京官方网站 12

06.xml书写注意点 78

例: class Voter{   public void Vote   {      //人气值 1      se.Popularity  ;    }}/测试相关代码SE  zhang=new SE();zhang.Age=25;zhang.Name="张梅";zhang.Gender=Gender.female;zhang.Popularity=10;//投票前MessageBox.Show(zhang.SayHi;Voter voter=new Voter();voter.Vote;  //引用类型做参数//投票后MessageBox.Show(zhang.SayHi;   

07.解析xml文件 78

澳门新萄京官方网站 13

08.标题记录 78

协会和类的分别
1.构造是值类型而类是引用类型

09.TreeView控件 78

2.构造和此外三个组织无法持续和被持续

10.网络电视Smart 79

3.组织未有默许构造而类有

第天问 文件操作 89

4.结构体未有析构函数而类有

01.文本操作相关 92

5.结构体能够不接收new初步化,而类无法

02.File和Directory 93

利用集结协会相关数据

03.FileInfo和 DirectoryInfo 93

定义:

04.系列化与反系列化 94

集合:

第十章 影院订票系统 96

一点特定的指标聚集在一块就是会集

  1. 从Movie开始 97

  2. Seat 座位类 100

数组:

3热映场次 100

能够储存相仿数据类型的一群数据的器皿

 

集合

 

会见分为泛型群集和非泛型集结

 

泛型集结分为单列和双列集合 (List<T>和Dictionary<K,V>卡塔 尔(阿拉伯语:قطر‎

 

非泛型集结分为单列和双列集结(ArrayList和HashTable卡塔尔国

 

常用的主意和性质

 

澳门新萄京官方网站 14

 

 Add();   //添加 Remove();  //删除 RemobeAt(); //根据索引删除  不适用 双列集合  count  //集合存储元素的个数 Contains();  //检测元素是否存在 ContainsKey();  // ContainsValue(); Capcity //集合占用空间

寒假作业 (寒假开玩笑欢跃!卡塔尔国:

澳门新萄京官方网站 15

01.预习S2 第二本数前4章,提交电子版预习笔记,附带案例做完,何况书写第五章体格检查套餐管理项目

注意事项:假若去除了聚众中的某三个成分,那么聚焦的索引会自动珍惜

 

遍历方案:

02.将KTV系统代码变成BLog小说,並且附有解释,注释!

澳门新萄京官方网站 16

 

ArrayList list=new ArrayLIst();Student stu1=new Student(); stu1.Name="jiejie"; stu1.Age=15; list.Add;Student stu2=new Student(); stu2.Name="jiji"; stu2.Age=18; list.Add;  //foreachforeach(Student item in list){    Console.WriteLine(item.Age "t" item.Name);} //forfor(int i=0;i<list.Count;i  ){   Console.WriteLinelist[i].Name);}

 

澳门新萄京官方网站 17澳门新萄京官方网站 18

03.在具有讲过的S1课程中,书写生机勃勃篇有手艺含量的blog,可以是指标数组,能够是KTV项指标效用点对知识点的行使把控。

HashTable 遍历三种方案   HashTable table=new HashTable();第一种方式:遍历所有的Keysforeach(var item in table.Keys){    //一个item代表一个key   Console.WriteLine("key是{0}tvalue是{1}",item,table[item]);}第二种遍历方式:遍历所有的value集合foreach(var item in table.Values){       //一个item代表一个value   Console.WriteLine("value是{0}",item);}//遍历整个tableforeach(DictionaryEntry item in table){    Console.WriteLine("key是{0}tvalue是{1}",item.Key,item.Value);}

 

澳门新萄京官方网站 19

04.整理S1四本书全数的堂上案例,上机演练,以至课后主题材料源代码(供给付出卡塔 尔(阿拉伯语:قطر‎,何况形成都电子通信工程高校子文书档案。

浓郁类的方法

 

构造函数

05.新岁最大收获情绪随笔!

方法名和类名相似,未有再次回到值

 

注意:在C#中,当大家定义了八个类后,系统底层暗许会生成二个和类名相符的无参构造,可是假如大家定义了七个带参构造,系统将不生成无参构造,可是在

过大年的一丢丢目的在于,大家别嫌少啊!希望我们过一个不相像的大年

的确的开支中国建工业总会公司议我们定义五个构造函数,几个无参构造和带参构造

 

澳门新萄京官方网站 20

1.学习方式:

 01.找一本好书

起来阶段不适合,可以松开第二个阶段,看见知识点时,要实行表达

 

 02.翻看协助文档和搜索引擎的利用

依赖于互联网上的Blog文章

 

 03.不要解决难点过于急躁

     不要抱着速成的主见,不然确定走弯路
     学习编制程序不是轻便的事情
     付出的开销高,技能有多少个高薪的受益

 

 04.毫无躁动

     不要什么都学,只学有用的

     浮躁的档期的顺序和本领水平成反比的
     走自己的路,让旁人去浮躁去呢!

     每九章问自个儿,小编是还是不是始于不耐性了,无法人云亦云.

 

05.学学语言底子很首要

   根基不踏实,开辟出的程序就很危殆
   将所学的运用开辟中去

 

06.怎样时候去看人家的代码?

    揣摩编写代码人的思绪,远比本人写软件要难得多
    初读书人不要去看外人的代码

    在纸上把调用关系画出来,抓主线.

 

07.什么样加强?

    有主动性。学习的欲念要强。上网找外人的难点,为友好来拉长

 

08.培育开采标题、思虑难题和减轻难点的力量

    出错消息,十分音信
    养成发掘难点、思忖问题和解决难点的手艺

    这种能力收益毕生,且不随即间改变

 

09编制程序的思忖

 

  多用心,多动手
  程序运行的法规和体制
  编制程序的目标,函数的调用,内部存款和储蓄器模型

 

10.先学系统,再学枝叶

 

您肉眼可以看到的网址 ,你都能够仿造出来,达到以假乱真的页面效果

13个段落  作家

 

 

第一章 深入.NET框架

--有时,大家在支付中,除了供给再次回到新闻小编,还亟需发送信息的景色,这一个

--时候供给引进out参数。

 

public class SE{ public SE(){}public SE(string id,string name,int age,Gender gender,int popularity){   Id=id;   Name=name;   Age=age;   Gender=gender;   Popularity=popularity;}}

第一章 深入.NET框架

2016年3月23日13:39:34

 

1.类和指标的关系?

分析:对象是类的实例,类是对象的虚幻。

澳门新萄京官方网站 21

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)面向对象设计(架构师卡塔 尔(英语:State of Qatar)   3万/month

OOA(Object Oriented  Analysis)面向对象分析  (剖判师卡塔尔国 10万/month

DBA(Database Administrator,简单称谓DBA)  无价的,你要有个别,CEO必得给多少!

 

l 泛型集结对目的数组的一个晋升(真正的支出中,用的都以泛型聚积卡塔 尔(阿拉伯语:قطر‎

 

l xml解析

   怎么样将硬盘上的xml文件形成内部存款和储蓄器中的泛型群集数据

 

l IO操作

  连串化与反系列化(应用很宽泛卡塔 尔(英语:State of Qatar)

 

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(公司财富兼顾卡塔 尔(英语:State of Qatar)

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

  二零零四年微软公司向国内外公布其革命性的软件和服务平台: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,公共语言运转时

CLLacrosse的八个组成都部队分

CTS:称为通用处目系统

      定义了在IL中的数据类型

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

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

     03,.NET框架类库

       

 

Scanner

Arrays

 

1.NET平台下的语言

  01.C#  VB J#   F#  C

2.

  vs2013  4.5

  vs2011对应框架的版本是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卡塔 尔(阿拉伯语:قطر‎和国有语言运维时(CL奇骏:common language Runtime)

4.CL逍客暗含两片段:

分析:公共语言职业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.CL奇骏内部足足三片段:

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

 类库

 

 

澳门新萄京官方网站 22

4.封装显示   李明瑞

第风度翩翩种:将民用字段封装成公有的习性看成是包裹的呈现

第三种:一个类能够封装属性和办法

public class Dog

{    

    private string name;

    public string Name

    {

        get{return name;}

set{name=value;}

    }

    public void bark()

    {

 

    }

}

1.面向对象编制程序三大特色:封装、世袭和多态

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

5..那多少个年大家学过的拜会修饰符??

public:任何职责,饱含跨程序集。

internal:在这里时此刻程序集(项目卡塔尔国中都能够访谈

private:只可以在脚下类中访谈(当前类的花括号中拜见。卡塔尔国

protected:只可以在当前类和其子类中利用  (后续讲授卡塔尔国

 

寻访修饰符:真正的含义?

类  字段  方法

类的寻访修饰符:

//public(这几个类在另内地点都能够动用)  internal

字段:private,public

方法:private ,public

澳门新萄京官方网站 23

6.变量,类和艺术的命名法

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

帕斯卡命名卡(pascal卡塔 尔(阿拉伯语:قطر‎:每多个单词的首字母都大写。类名和格局名

目的间的相互

7.new:代表意义:

Student stu=new Student();

01.创设对象

02.开辟空间

03.电动调用构造函数

澳门新萄京官方网站 24

8.字段和品质差别?

分析:01.属性无法保留数据,真正保存数据的是字段

     02.属性是开玩笑的,字段是必须的。

 03.假设字段只想让类内部访问,那么设置成private,倘诺想找贰个中间者,

  在Main方法中做客到Student类中的私有字段,那么属性可以是生龙活虎种采取。

梦想:推荐我们今后书写类的时候,字段和属性成对现身。

.属性无非就是有get和set七个访问器组成

get:取值

set:赋值

//遥控器类public class RemoteControl{  //开机  public void TurnOn   {     tv.Open();  //调用电视机对象的开机方法   }  //关机  public void TurnOff  {    tv.TrunOff();  }   //换台  public void ChangeChannel   {       Console.WriteLine;       string ChannelNo=Console.ReadLine();       tv.Change(ChannelNo);   }//电视机类public class Tv{  public boolean isOn=false; //是否开机  //打开电视机  public void Open()  {   if   {      Console.WriteLine;   }   else    {       Console.WriteLine("成功打开电视机");        isOm=true;     }  }  //关机  public void TurnOff()   {     if      {        Console.WrteLine("电视机正在关机");        isOn=false;      }     else     {       Console.WriteLine;     }   }  //换台  public void Change(string channelNo)   {     if     {       Console.WriteLine("正在切到{0}台",channelNo);    }    }//测试Main()方法 static void Main(String[] args) {   RemoteControl controler=new RemoteControl();   Tv tv=new Tv();   //开机   controler.TurnOn;    //切换频道   controler.ChangChannel;   //关机   controler.TurnOff;    Console.ReadLine();}

9.自动属性

机关属性应用场景:当大家不须求做逻辑剖断的时候能够运用自动属性

概念自动属性在后台会自行帮大家转换一个对应数据类型的私有字段

 

澳门新萄京官方网站 25

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重用;

第二:不必关切具体的落实; (方法卡塔 尔(英语:State of Qatar)

其三:面向对象三大特色之风度翩翩;

第四,具备安全性!

小孩儿

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

黄磊

好了,废话相当少说,上边切入主题:

2.有关数组的这个事情

假定我们定义二个数组,并且赋值了

int[] nums={1,2};

nums在那之中保存 的是堆中的地址:譬如:0x001

nums[0]:采访的是堆中的内容

1.首先大家定义三个子类,给它创制七个组织:贰个无参构造和一个有参构造

3.值类型(在栈上存款和储蓄真实的值卡塔 尔(英语:State of Qatar)和引用类型(堆和栈上都要分配空间)

值类型:

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

非常的值类型:枚举和结构体

出奇的援引类型:数组和接口

 

澳门新萄京官方网站 26

6.装箱和拆箱

是因为装箱和拆箱对系统品质损耗超级大,所以在真实的开支中大家尽量制止装箱和拆箱的操作。

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

Object:是引用类型,并且是享有数据类型(值类型,引用类型卡塔 尔(英语:State of Qatar)的父类

 

 

 

面试题:

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

敲定:未有装箱

下来本身查!Why ??

 

导师:哪天理应装箱,何时应该拆箱?

浅析:由于装箱和拆箱进程都要消耗系统的属性,所以在开采中应有尽量制止装箱和拆箱。

澳门新萄京官方网站 27

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

2.数组题

 

 

3.最终SE Voter手动敲三次

4.微机编号 ,主管评分

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

6.第三章的预习作业

 

其三章    使用集结组织相关数据

澳门新萄京官方网站 28

其三章 使用集结组织有关数据(终极内存数据容器卡塔尔

S2223听写

第大器晚成题:List<T>类型泛型

 

 

第一题   Dictionary<K,V>泛型

 

 

 

 

 第三章题  会集发轫化器

 

在Main方法中:
澳门新萄京官方网站 29

黄金时代、集合概念引进

相会:某个钦点的靶子(SE)聚焦在联合具名就是会晤

如下是二个Hello 基特ty的汇聚

数组:能够储存相通数据类型的一群数据的容器

 

并且要注意,在调用子类的带参构造时,大家要想到调用子类构造的时候,未有动用base关键字调用父类的内定的布局,暗许调用父类的无参构造.

二、首先个集结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.默许假如会集中现身了第3个要素,那么集中的大小4,假若归入第5个因素,那么会扩大容积成8

 

 03.如果在小括号中第一遍定义的时候钦命了聚众的长短,那么以后扩大体量的措施

 产生初次内定数字大小的2倍;若无一点点名长度,那么遵守01的标准

 

 04.相会内部也是由此七个数组相互copy完毕扩大容积的,可是微软已经对其做了优化,大家毫不关注功能难点

 

 

 

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

★2.集中扩大体积原理截图

 

 

 

 

小结:

 01.成团的定义

   自动扩大体积:

   Capcity和Count区别?

 02.构造函数

   概念:给类定义贰个主意,方法名和类名相符,未有重回值,连void都不能够有。

  03.非泛型集结在行使前,必必要最早入命名空间。

04.命名空间

  深入分析:成效:能动用该命名空间下有所的剧情(类,方法卡塔尔国

  保险在分歧的命名空间下得以现身同名类 。

  

weilengdeyu.Download()

Weiredeyxue.UPLoad()

 

 

2015年6月27日17:20:58

--删除

  

键盘

02.base代表的是艺术调用,是无需参数类型的

三、集结七月素操作(增多,遍历,删除、何奇之有错误卡塔尔国

 

03.base(传参顺序和父类构造风度翩翩致,变量名和子类构造参数风度翩翩致)

1.常见属性:

Capacity:集合占用空间

Count:集结存款和储蓄成分个数

在这里间补充某个做客修饰符

2.常用艺术:

丰硕:int Add(Object value) //增加三个指标到聚焦的最终

遍历:通过foreach遍历

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

      *:注意事项:倘诺剔除了聚众中的某一个因素,那么聚焦的索引会自动体贴

      Remove():删除内容

      RemoveAt():通过索引删除

      Clear():二回性移除集合中持有的成分

      Contains():是或不是带有有些成分

咱俩所领悟的:public private protected

3.广大错误:见PPT

写自身的机件:其实正是您在微软原来就有的组件上进行第二回封装。举个例子

担保在TextBox中只可以输入数字。

举个例子说,现在TextBox内容你想要依据本人一定的格式打字与印刷。本身在Text博克斯出手脚,然后让他帮衬对应格式的打字与印刷。

 

二〇一六年四月十八日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先生,22;杨伊,21卡塔 尔(英语:State of Qatar)

运用for和foreach遍历学子消息

 

01.集中对于数组优点:

  001.操作便利(新扩展,删除,查找方便卡塔尔国

  002.自动扩大体量(刚开首能够不点名集合起来体量)

02.集合的落实原理

  深入分析:集结在统筹上可能选拔数组达成的,只不过微软对几个互相copy的数组的推行效用张开了优化,所谓的电动扩大体量,无非是将新数经理度定义成旧数经理度的两倍后,再将新数组的前N项用旧数组的保有项填充而已。

 

当前类 子类 其他类
private √ × ×
protected √ √ ×
public √ √ √

四、集合伊始化器,对象伊始化器

   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}

};

小结:大家得以清楚的领会三种访问修饰符对类成员的寻访节制强度:private>protected>public

五、HashTable

  Hashtable 经常称为哈希表

  依据键(Key卡塔尔能够搜寻到对应的值 (Value卡塔 尔(英语:State of Qatar)

  

new 子类底层原理图

 ★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.杰出练习  老总评分 24

其三章 使用集结组织有关数据(终极内部存款和储蓄器数据容器卡塔尔国26

风华正茂、集结概念引进 28

二、 第三个会集ArrayList的接纳 29

★1.引子: 29

★2.集中扩大容积原理截图 30

三、会集七月素操作(增多,遍历,删除、管见所及错误卡塔 尔(英语:State of Qatar)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分卡塔 尔(英语:State of Qatar) 43

  1. 对象间的相互 43

第六章 继承 49

风度翩翩、课程回看 49

二、预习难题 50

三、本章目的 50

四、课程内容 51

3.继承: 51

第七章 浓重理解多态 58

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

其次种:抽象方法达成多态 63

第八章 网络电视机Smart   // 获取和安装当前目录(该进度从当中运转的目录)的一心约束目录。  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.互联网电视机Smart 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);

           }

 

澳门新萄京官方网站 30

六、泛型集合List<T>(通晓difficult,写起来easy卡塔尔

 泛型:正是为着节制ArrayList瓜时素类型,而制订的一个新的汇集类型,该品种只可以步入同后生可畏等级次序的多少个要素,标记符<T>,能够充任是一个占位符,泛型是将运维时不当提前到了编写翻译时

职工打卡:后一次周风流洒脱:活动   项目

 

用文字描述:

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

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

1.走到子类构造,不进来构造体
2.倒车父类,步入父类构造体推行
3.转回子类组织,施行子类构造体
4.转到Main,内部存款和储蓄器中创设出子类对象

八、自定义泛型

 

接轨还持有两大特色这些大家也毫不遗忘了,正是单根性和传递性

九、.NET会集框架(集结增添卡塔 尔(英语:State of Qatar)

 

 

 

单根性指的正是贰个子类唯有二个父类

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.多态是何许呢?字面上的意思便是两种形状

1.构造函数

   构造:方法名和类名相仿,未有再次来到值

   无参构造函数

   带参构造函数

协会的调换计谋:

   注意:在C#中,当我们定义了一个类后,暗许会生成八个与类名

   同名的无参构造,可是假使咱们自定义了此外贰个带参构造,那么  

   系统不再扶持大家转变无参构造,在真实的成本中,推荐大家定义

   多个构造函数,二个无参,一个带参。

用标准一点的话来讲就是指同二个操作成效于分裂的靶未时,能够有区别的分解,发生不相同的实施职能。

2.方法重载(考试必考:2到3分卡塔 尔(英语:State of Qatar)

解析:在同多少个类中,借使七个章程形式名称生龙活虎致,不过参数列表(个数,顺序,类型卡塔 尔(阿拉伯语:قطر‎不一致)的多个情势能够结合重载,和方法的回来值类型未有半毛钱关系

以下的几个艺术能够组成艺术重载

      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

 

 

汽车租费系统

网络电视Smart

体格检查套餐系统

职工打卡系统

 

「上课,是教您环球都曾经表达况兼已经通晓的谜底,上课的指标,是要令你学别人花不菲时日整合治理和归纳的学识,而令你日后再攻读的旅途,没有必要再走叁回,再造一遍轮子」

 

 

 

其三方组件

 

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录制地址

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

//客商:点餐(几个指标,二个是服务生,叁个是菜单)

       /*前台经理:记录外人点餐

        * 前台经理:提交菜单给厨子

        * 厨师:依照菜单做菜

        * 厨神:提示饭菜制作实现

        * 服务生:传菜(将加强的菜端给客商卡塔尔

        * 客户:用餐

        *

        * 中间的涉嫌:通过订单关联在联合

        * 订单内容(每张订单都应有有一个持有者,必要具备叁个客商对象,还要有贰个订单号,还要有订单内容,点餐内容)

        *

        */

菜单类

   属性:该菜单归于哪个客商(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){}

剖判:不得以,那多少个艺术正是同四个艺术,在同三个类中不恐怕存活。

在父类中定义的措施,用virtual关键字来定义为虚方法

二、预习难点

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

解析:base

Base(卡塔尔:语法:援救的是子类构造后用:base()格局

Base.方法()

Base.父类属性

2.重写父类方法应用什么首要字?

解析:override

3.三番一次有怎么样特点?

解析:单根性

     传递性

在子类中定义本身的诀窍,用override关键字来修饰,完结对父类的章程的重写

三、本章目的

1.明了世襲的概念

2.谙习采取持续营造父类和子类

3.通晓多态的定义

4.会重写虚方法达成多态

 

概念父类变量,用子类变量起先化父类变量

 

下边来一个小案例:

 

澳门新萄京官方网站 31

 

 //创建一个Person父类 public class Person    {       public virtual void SayHello()       {            //父类特有的方法           Console.WriteLine("父类打招呼方法");       }    }//创建一个Korea子类public class Korea:Person  //在这里要注意它继承于Person类    {       public override void SayHello()       {           Console.WriteLine("金喜善打招呼方法");       }    }//创建一个Chinese类public class Chinese:Person //在这里要注意它继承于Person类    {       public override void SayHello()       {           Console.WriteLine;       }    }//创建一个American类public class American:Person   //在这里要注意它继承于Person类    {        public override void SayHello()        {            Console.WriteLine;        }    } 前面我们也学过泛型了下面我们就用泛型来存储            List<Person> list=new List<Person>();            Chinese chinese=new Chinese();            American usa=new American();            Korea korea=new Korea();            list.Add;            list.Add;            list.Add;

四、课程内容

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 的玩意儿,他是支撑多三回九转的语言,忽然有一天,十三个程序猿用多三回九转,有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(卡塔 尔(英语:State of Qatar),然后在子类Student中通过override关键字对父类的SayHello()方法开展重写。

如下:

 

Student类

 

Teacher类

 

在Main方法中调用

 

 

 

 

 

王建琦版(更优方案卡塔尔国

 

 

作业:

 

 

 

Base调用父类构造的法规图

 

 

 

澳门新萄京官方网站 32

第七章 深刻通晓多态

 

 

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. 第七章课后学业(全体抉择和成套问答题卡塔 尔(英语:State of Qatar)。

第七章内容计算:

1,达成面向对象的多态性有哪两种方法?

   总共有3种,第生机勃勃种,虚方法完成多态,  第二种:抽象方法完结多态  第二种:接口完结多态

   近日截止,大家学了两种:

上面大家能够用foreach来遍历

  第生机勃勃种:虚方法达成多态

透过在普通类Person中用Virtual关键字定义虚方法SayHello(卡塔 尔(阿拉伯语:قطر‎,然后在子类Student中通过override关键字对父类的SayHello()方法实行重写。

如下:

 

Student类

 

Teacher类

 

在Main方法中调用

 

澳门新萄京官方网站 33

  第两种:抽象方法完毕多态

经过在空虚类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.面向接口编制程序

 

 

 

 

本人的没办法你长久不懂,因为小编是抽象类

 

交代的说,抽象类存在真正特不轻易。在接口未有一败涂地的时候,抽象类还足以大吹大擂的说自个儿是正统的制定者,可是背后传来八个动静,你只会比手画脚,施命发号,向来都不干实事(未有方法体啊卡塔 尔(英语:State of Qatar)。

 

    于是抽象类就这么被埋没了。既然那样,抽象类接着坚决果断的检索着本身的闪光点。不过多少个个日出  换成了日落,几天前的抽象类照旧是抽象类。依然不得以昂首挺胸,龙行虎步的向JVM索要空间~因为抽象类恒久只可以new外人,那也许就是《抽象类的哀愁》吧!即便经过各类粉饰太平之后,抽象类能够有所谓的对象.

 

 

      例如,通过静态花招,通过子类等,然而,抽象类心里精晓,如若创造那样的对象,自个儿宁可不要。于是,抽象类再次倔强的拒绝了上下一心形成目的这么些真相。不过,抽象类的哀伤什么人能清楚,看见一个一个类都new出了和睦的幸福,抽象类依旧在默默的探究着温馨的帮助和益处。即便这是一条披满荆棘的遥远长路,但是就如她爱怜的一句话:把握以往,珍爱当下,抓实在的要好。真的愿意,有一天,抽象类能够拿着话筒大声说,其实作者是一个立竿见影的类。小编不只是旁人的嫁衣,别人的铺垫。

 

     难道在面向接口编制程序的后天,笔者抽象类真的就从未天日可以知道了吧,就因为本身无法多接二连三吗?我不性格很顽强在荆棘载途或巨大压力面前不屈。抽象类有温馨的构造函数,可是却无法new,这种万般无奈哪个人又能懂?难道抽象类的存在只是为了子类吗?

 

 

     但是刚好抽象类就处在此样三个不尴不尬的地步。

 

 

   向前一步,你就走出角逐的类别,长久在前。

   未有难倒,只有权且停歇成功!-----

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

 

 

 

向后一步,你永无出头之日,堕落,被那几个社会末了面部分的人踩在现阶段。不服和埋怨都于事无补。

那正是有板有眼。

 

Baby::::::

 

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

方式一:           foreach (Person person in list)            {               person.SayHello();            }方式二:           foreach (Person person in list)            {               //方式二:不使用统一调用                if (person is Chinese)                {                   Chinese chinese= person as Chinese;                    chinese.SayHello();                }               if (person is Korea)                {                    Korea chinese= person as  Korea;                    korea.SayHello();                }               if (person is  American)                {                    American chinese= person as  American;                     american.SayHello();                }            }

第八章 网络TVSmart   // 获取和装置当前目录(该进程从当中运行的目录)的一丝一毫节制目录。  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 2007使用xml做多少存款和储蓄

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

     

 

 

 

     

2.有关网络电视机Smart框架结构搭建

网络电视机Smart

   本事点支撑:

     -->世襲 ,简单工厂 XML文件  泛型群集  IO永恒保存数据

 

 

   1.搭建项目架构

     要求深入分析:

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

02.在如何地点解析全体频道的xml文件

 

 

//摄像3个时辰的录制。  1.5 个钟头 网络电视机Smart

                       二种办法落实多态:虚方法,抽象方法和接口

                       七个设计方式的blogs。

                      

 

  下一次听写!

 

澳门新萄京官方网站 34

01.什么样是设计情势

* 拆解深入分析:针对一定难题而提议特定的建设方案

能力:最少写

  轻易工厂不算23种设计形式中的风华正茂种,

  工厂

  抽象工厂

        * 2.常用的设计格局总共有23种,明天的《轻松工厂设计格局》和《单例设计格局》

          3.设计格局参谋书籍<大话设计形式>  、《设计情势之禅》和 <GOF>

若果自身几日前过生日,小编想订贰个Pizza(比萨饼),小编想打电话订。小编如若有七个坐蓐Pizza的厂子。

奶酪pIzza

培根Pizza

上面笔者再穿插个示范:

02.凝练工厂图解

 

和谐的一张图

 

再上一张图

 

 

澳门新萄京官方网站 35

03.单例格局

S1  KTV

在少数特殊的场所中,大家须求在内存中只驻留有个别类的三个指标,K电视机点歌系统,播放窗体只须求有多少个。

 

 

 

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:123Singer.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属性控制右键菜单的显示和隐藏

 

网络电视机Smart后续思路

1.点击TreeView上有些广播台节点后,展现该频道下具备的节目单,

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

思路分析:既然TypeAChannel:ChannelBase对应的新加坡电台,那么我们供给找到保存

巴黎电视新北装有节指标xml文件,然后继续该xml文件,每三个<TvProgram>

节点都以二个节目单对象。作者只须要将深入分析出的内容加载到聚聚焦。会集中就存款和储蓄了

风姿罗曼蒂克二种TvProgram对象,笔者只需求将该集合绑定到DataGridView上就OK了。

 

DgvList.DataSource=list;

 

注意:在调用Fetch方法以前要清空下聚聚焦的数据

//第2节课:完毕加载效率

 

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.引出网络电视机Smart架构搭建

 

澳门新萄京官方网站 36

第九章 文本操作

 

 

 

 

 

 

别的音讯: 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字符,私下认可值为’’

decimal      System.Decimal

16Byte 128bit十进制数不据守四舍五入法则的十进制数,二十八个有效数字,平常用于财务方面包车型客车计算,暗许值为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

 

持久化:

是将顺序数据在持久状态和弹指时情景间转移的建制。通俗的讲,就是弹指时多少(例如内部存款和储蓄器中的数码,是不能够恒久保存的卡塔 尔(英语:State of Qatar)长久化为悠久数据(比方持久化至数据库中,可以长时间保存卡塔尔。

 

02.怎么样将顺序中的数据长久化?

深入分析:小编假诺将内存中的数额保存成硬盘上的文本。Xml jpg VCD

 

03.多个经文作业?

解析:怎么着读取大文本文件??非凡施工方案

 

04.因此多少个类来达成文件的读写

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

有一点低档类,高端类。让FileStream和StreamReader()

还没读取器的情事下,也能够文件的读取操作

 

 

澳门新萄京官方网站 37

01.文书操作相关

1.必要引进命名空间

2.FileMode枚举

Create:制造一个新文件,如果文件存在,覆盖原有内容

Open:钦命展开现成文件

CreateNew:新建叁个文件,固然文件存在,会抛出非常 ,该属性寒常不用

Append:展开现成文件扩张

 

3.当调用Flush方法的时候才真的的将内部存款和储蓄器中的数额写入到硬盘中。

4.文本操作5个步骤,必得明白

  01.创制一个文件流,本质:钦点要往哪些文件中写入内容(或许说在硬盘的钦点地方创立三个空的公文)     白话:买了一张白纸

  02.创立三个写入(读取)器,并钦命写入(读取卡塔 尔(英语:State of Qatar)哪个文件,和硬盘上的文书发出关联。

                  白话:买了生机勃勃支钢笔

  03.领头真的的写入(读取)

                  白话:开端动笔写小说

  04.闭馆写入(读取器)

                  白话:甘休编写文章,盖上海钢铁公司笔冒

  05.关闭流:

                  白话:将白纸折叠收藏

 

在Main方法中调用

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.看网络电视机Smart后续内容

   加载出频道下相应的节目单,富含右键菜单的拉长和删除

   以至自己的有线广播台:通过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  Hong Kong海淀

 

系列化是将   对象情状     调换为     可保持或可传输格式  的历程。与连串化绝对的是反种类化,它将流调换为指标。那多个进度结合起来,能够轻巧地蕴藏和传输数据。

 

 

 

 系列化注意事项:

 01.万意气风发自定义类需求被体系化,那么必须打上[Serializable]特性

 02.必须确认保证可体系化类的持有属性也均可以种类化

 03.必得保险可类别化类的父类也得以连串化

 04,若是只种类化部分本性,无需体系化的特性上得以打上[NonSerializable]特性

 

 

 

里氏替换

第十章 电影院领票系统

类的架构图

技术初叶 :动态生成标签 三15个Label

内需将35Label归入TabControl中。如何Render(渲染卡塔尔称为了最大的标题

1.在内部存款和储蓄器中计划二个Label  直接new就能够  

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

3.

 

 

 

 

概念:在一个软件系统中,假诺子类替换父类现身的岗位,而对总体软件系统机能还没影响

1.从Movie开始

枚举和类在一直以来品级

 

录制属性----->电影名称   海报图片名   出品人名  主角名  电影项目  电影定价

 

 

 

 

 

澳门新萄京官方网站 38

2.Seat 座位类

 

//交通工具类public class TrafficTool{     public vartual void Run()     {         Console.WriteLine;     }}//地铁类public class Tube:TrafficTool{    public voerride void Run()     {       Console.WriteLine;     }}//小汽车类public class Car:TrafficTool{   public voerride void Run()   {     Console.WriteLine("小汽车在行驶中");    }}//自行车类public class Bicycle:TrafficTool{   public override void Run()   {     Console.WriteLine("自行车在行驶中");    }}//给Employee类添加GoHome()方法:搭乘交通工具回家public class Employee{   //以父类类型作为参数   public void GoHome(TrafficTool tool)   {     Console.WriteLine("员工" Name);     tool.Run();    }}//测试Main()方法static void Main(String[] args){   SE ai=new SE("123","艾边成",25,Gender.male,100);   SE joe=new SE("103","Joe",30,Gender.female,200);   //实例化PM对象   PM pm=new PM("890","盖茨",50,Gender.female,30);   //定义员工集合   List<Employee> list=new List<Employee>();   list.Add;   list.Add;   list.Add;  //员工选择不同的交通工具回家:传递实际创建的子类对象  list[0].GoHome(new Bicycle;  list[1].GoHome);  list[2].GoHome(new Tube;  Console.ReadLine();}

3播出场次

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

澳门新萄京官方网站 39

抽象类和浮泛方法

概念:抽象方法是叁个从未达成的法子,通过定义方法时增添的关键字abstract能够评释抽象方法

语法:

拜会修饰符 abstract 再次来到类型 方法名();

静心:抽象方法未有关掉的大括号,而是从来跟了二个分号;,也正是说它从不方法体。

包蕴抽象方法的类必然是抽象类

语法:

做客修饰符 abstract class 类名{}

简单示例:  public abstract class TrafficTool  {     public abstract void Run();   }

澳门新萄京官方网站 40

 /// <summary>    /// 父类  工作类    /// </summary>   public abstract class Job    {        //抽象方法        public abstract void Show();        //工作类型        public string Type { get; set; }        //工作名称        public string Name { get; set; }        //工作描述        public string Describe { get; set; }        //无参构造        public Job()        {        }        //带参构造        public Job(string type,string name,string des)        {            this.Type = type;            this.Name = name;            this.Describe = des;        }    }

澳门新萄京官方网站 41澳门新萄京官方网站 42

 public class Tests : Job    {        /// <summary>        /// 子类  测试类        /// </summary>            //测试类的方法        public override void Show()        {            FrmTests tt = new FrmTests();            tt.Show();            this.Num = Num;            this.BugNum = BugNum;            this.Time = Time;        }        //个数        public int Num { get; set; }        //bug数        public int BugNum { get; set; }        //时间        public string Time { get; set; }        //无参构造        public Tests()        {        }        //带参构造        public Tests(string type,string name,string des):base(type,name,des)        {        }    }

澳门新萄京官方网站 43

总结:

1.三个类用abstract修饰,正是抽象类

2.抽象类不能实例化

3.虚无方法不能够有法子体连{}无法有

4.抽象方法只可以在抽象类中

个人计算浓烈,大家在雨天学习泛型集合。5.浮泛方法存在的目标正是为着节制类中方法存在的款型(重回值类型和参数列表卡塔尔

6.抽象类无法是静态类和密封类

7.抽象类中有所的悬空方法必得被子类重写,除非子类自己也是抽象类

8.黄金时代键重写全体抽象方法的迅猛键 Ctrl . Shift Alt F10

看完那章,你是否认为有得到?

可扩充标识语言XML

HTML和XML

HTML:Hyper Text Markup Language

XML:Extensible Markup Language

HTML和XML存款和储蓄和显示的角度来讲

XML:侧重数据存款和储蓄

HTML:侧重数据呈现

XML的注目点

1.XML文本严谨区分朗朗上口写

2.XML文书档案只好有多少个根节点

3.XML文书的竹签配成对现身

4.我们可以自定义XML文档中的标签

本文由澳门新萄京官方网站发布于www.8455.com,转载请注明出处:个人计算浓烈,大家在雨天学习泛型集合

关键词: