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
- 有不对的地方还请指出,虚心向大家求教。