激励自己有时间多看看.!!


C#基础共分为七个部分:

  一: 面向对象

     二: 值类型, 引用类型, 字符串操作

  三: 集合文件操作

  四: 正则表达式

  五: XML操作

  六: 委托, 事件

  七: 反射

 

1, 面向对象:

  面向对象的三大特性: 封装, 继承, 多态

2, 什么是类? 什么是对象? 类和对象的区别?

  类: 类似模子, 确定对象将会拥有的特征(属性) 和行为 (方法)

  对象是一个你能够看得到, 摸得着的具体实现-- 万物皆对象.

    --类是模具, 创建对象的模具, 抽象的

       .类是一组数据类型, 用户自定义的数据类型.

     .类组成: 字段, 属性, 方法, 构造函数.

    --对象是具体的, 是类的具体实例. 对象是具有属性(特征)和方法(行为)

    --类中包含了数据(用字段标示)与行为(用方法(函数, 功能)标示, 方法为一块具有名称的代码)

3, 知识点总结

 

封装继承多态

一、封装:

  封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。 

 封装的意义:
  封装的意义在于保护或者防止代码(数据)被我们无意中破坏。在面向对象程序设计中数据被看作是一个中心的元素并且和使用它的函数结合的很密切,从而保护它不被其它的函数意外的修改。

  封装提供了一个有效的途径来保护数据不被意外的破坏。相比我们将数据(用域来实现)在程序中定义为公用的(public)我们将它们(fields)定义为私有的(privat)在很多方面会更好。私有的数据可以用两种方式来间接的控制。第一种方法,我们使用传统的存、取方法。第二种方法我们用属性(property)。

  使用属性不仅可以控制存取数据的合法性,同时也提供了“读写”、“只读”、“只写”灵活的操作方法。

访问修饰符:

 

二、继承:

  继承主要实现重用代码,节省开发时间。

1、C#中的继承符合下列规则:

    1. 继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
    2. 派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。
    3. 构造函数和析构函数不能被继承。除此之外的其它成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们。
    4. 派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。
    5. 类可以定义虚文法、虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类可以展示出多态性。

  2、new关键字

   如果父类中声明了一个没有friend修饰的protected或public方法,子类中也声明了同名的方法。则用new可以隐藏父类中的方法。(不建议使用)

  3、base关键字

   base 关键字用于从派生类中访问基类的成员:

    1. 调用基类上已被其他方法重写的方法。
    2. 指定创建派生类实例时应调用的基类构造函数。

 三、多态

  1、多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。

  编译时的多态性:

  编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现何种操作。 

  运行时的多态性:

  运行时的多态性就是指直到系统运行时,才根据实际情况决定实现何种操作。C#中,运行时的多态性通过虚成员实现。 

  编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。

   2、实现多态:

    1. 接口多态性。
    2. 继承多态性。
    3. 通过抽象类实现的多态性。

  3、override关键字:

   重写父类中的virtual修饰的方法,实现多态。

五个访问修饰符

  Private:只有类本身能存取.
  Protected:类和派生类可以存取.
  Internal:只有同一个项目中的类可以存取.
  Protected Internal:是Protected和Internal的结合. 
  Public:完全存取.

  

  1. C# 方法默认访问级别 : private  
  2. C# 类默认访问级别 : internal 
  3. 接口成员访问修饰符默认为public,且不能显示使用访问修饰符。
  4. 类(class)

    构造函数默认为public访问修饰符。

    析构函数不能显示使用访问修饰符且默认为private访问修饰符。 
      析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

  5.  

    类的成员默认访问修饰符为private; 

  6. 枚举(enum)

    枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。

  7. 结构(struct) 

    结构成员默认为private修饰符。 

    结构成员无法声明为protected成员,因为结构不支持继承。 

  8. 嵌套类型

    嵌套类型的默认访问修饰符为private。 和类,结构的成员默认访问类型一致。

字段和属性及索引器

1、属性
  所谓属性其实就是特殊的类成员,它实现了对私有类域的受控访问。在C#语言中有两种属性方法,其一是get,通过它可以返回私有域的值,其二是set,通过它就可以设置私有域的值。比如说,以下面的代码为例,创建学生姓名属性,控制对name字段的受控访问:

 1 using System;
 2 
 3 public class Student
 4 {
 5     private string name;
 6     /// <summary>
 7     /// 定义学生的姓名属性
 8     /// </summary>
 9     public string Name
10     {
11         get { return name; }
12         set { name = value; }
13     }
14 }
15 
16 
17 class Program
18 {
19     static void Main(string[] args)
20     {
21         Student student = new Student();
22         student.Name = "Jeff Wong";
23         Console.WriteLine(student.Name);
24         Console.Read();
25     }
26 }
View Code

相关文章:

  • 2021-10-19
  • 2022-01-25
  • 2022-01-28
  • 2021-08-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-11
  • 2021-07-06
  • 2021-11-22
  • 2021-10-17
相关资源
相似解决方案