" />
当前位置: 代码迷 >> C# >>
  详细解决方案


热度:3353   发布时间:2013-02-25 00:00:00.0
C#语言知识汇总

    C#基本知识的学习总共用了有不到10天的时间,这段时间内看完了楚广明老师的教程,并初步了解了C#的基本知识,在加上以前专业课中学习过C++和Java语言,所以在学习C#时一些基本概念很容易理解。在看完视频后,对C#的知识进行了一些整理,主要概括为两个大的方面,一是面向对象部分,二是基本构成,该篇博客也会从这两个方面进行论述。

    C#全称为C-Sharp,是微软公司开发的一种面向对象的编程语言。由C/C++语言演变而来,同时简化和现代化了C++在类、命名空间、方法重载和异常处理的各领域。C#的功能强大,应用较广泛,能够开发Dos程序、桌面应用程序、Web程序、手机应用程序等,并且开发环境使用方便。

C#知识概况图

 一、面向对象

  1、特点

    封装、继承、多态与其说是面向对象技术的三大特点,不如说是类的三大特性,因为在面向对象技术中,类是语言的关键,这三大特性都是类所拥有的三大特性。

   封装性

    封装是将数据或方法、函数等集合在一个单元中,我们将该单元称之为类,对于使用该单元的人来说它只知道单元的一些功能,并不能知道具体的实现方法。被封装的对象通常被称之为抽象数据类型。

   ①概念

   可以把程序按某种规则分成很多“块”,块与块之间可能会有联系,每个块都有一个可变部分和一个稳定的部分。我们需要把可变的部分和稳定的部分分离出来,将稳定的部分暴露给其他块,而将可变的部分隐藏起来,以便随时可以让它修改,这项工作就是封装。如:在用类实现某个功能时,我们会定义类及类的属性和方法,其中类可看作是上面的块,类中的属性值是可变部分,类的方法和属性是稳定的部分。

   ②意义

   保护或者防止代码(数据)被破坏。

    私有的数据可以用两种方式来间接的控制。一是传统的读、写方法封装;二是使用属性进行封装。主要有以下好处:

    其一: 使用者只需要了解如何通过类的接口使用类,而不用关心类的内部数据结构和数据组织方法;

    其二:高内聚,低耦合一直是我们所追求的,用好封装恰恰可以减少耦合;

    其三:只要对外接口不改变,可以任意修改内部实现,这个可以很好的应对变化;

    其四:类具有了简洁清晰的对外接口,降低了使用者的学习过程。

   ③两种封装方法

    传统的读、写方法封装:

   //有一个类Name,为了操纵这个类中的数据(string name)我们定义了一个读方法和一个写方法。    public class Name    {        private string name;        // 读方法        public string GetName()        {            return name;        }        //写方法        public void SetName(string n)        {            name = n;        }        public static void Main(string[] args)        {            Name Country = new Name();            Country.SetName("China");            Console.WriteLine("The Name is :" + Country.GetName());        }}

    上面的方法保证了私有成员name不被外部成员所破坏,我们实例化一个对象Country来实现读和写数据。在上面的例子中,我们不能直接访问类Name的实例Country中的私有数据(string name),我们只能通过SetName和GetName两个方法来读和写数据。

   用属性来实现封装:

    属性是类的基本组成部分,通过对属性的读和写来保护类中的域。使用属性来实现封装比上一种方法更简单。

    public class Name    {        private string name;  //需要封装的属性        public string CountryName        {            get{return name;}            set{name=value;}        }    }    public class Name1    {        public static void Main(string[] args)        {            Name Country= new Name();            Country.CountryName = "China";            Console.WriteLine("The Country is :{0}",Country.CountryName);        }    }  

    上面的例子通过属性实现了stringname的封装,其中属性具有两种操作get和set。Get用来返回属性域的值;Set通过value这个变量来给属性域赋值。

   未完待续!

    继承性:

    多态性:

  2、类

 二、基本构成

1楼zhang_xinxiu昨天 21:35
有不对的地方还请指出,虚心向大家求教。
  相关解决方案