C#--基础笔记


面向对象

  虽然之前说过面向对象了,这里再说一遍,温故知新。
  
  面向对象=对象(Object)+类(Classification)+继承(Inheritance)+通过消息的通信(Communication with Messages)
  
  对象:看得见 摸得到 具体的 特指的。
  类:是一个模子,确定对象将会拥有的特征和行为。
  类是对象的类型。
  
  那么问题来了:先有对象还是先有类呢?(站着埋)
  类不占内存,对象占内存。


修饰符

  达到封装的目的
  
  public:公共成员,修饰的字符完全公开,没有访问限制
  private:私有成员,在类的内部才可以访问。
  protected:保护成员,该类内部和继承类中可以访问。
  internal:当前程序集内可以访问。


  类的实例化(用关键字new):语法:类 实例名=new 类()
  
  类的成员的访问:实例名.属性 实例名.方法();
  
  字段、方法、属性都可以叫做类的成员,它们都需要定义访问级别。访问级别的用处在于控制成员在哪些地方可以被访问,这样达到面向对象中的“封装”的目的。

类中的字段和属性

  字段用public修饰,属性用private修饰
  属性的定义:get;set
  属性是为了保护与之相对应的字段的。保证对字段的读取和赋值符合要求。
  属性可分为:读写、只读、只写 。
  允许尾部访问的变量一定要声明为属性。

  类中的属性,变成只读(为了安全)之后就不容易给属性赋值了。

  为了给只读的属性赋值,引出了构造函数:

构造函数

  
  使用构造函数能解决的问题:
  1、在赋值时,重复的书写对象名问题
  2、假如我们有一个属性,不允许用户随意改动,我们一般把这个属性定义为只读类型的属性,那么这个只读类型的属性就不能再实例化后对它赋值了,我们就通过构造方法进行初始化。

  定义好的类,如果没有写构造方法,编译器会自动在这个类中给我们添加一个没有参数的构造方法。一旦我们写了一个构造方法,那么编译器就不会再给我们添加这个没有参数的构造方法了。

类和结构的异同

  类可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用的传递。
  
  结构:属于值类型,是法分配在内存的栈上的。结构体是赋值传递的。Int32、Boolean等都属于结构。


namespace(命名空间)

  
  在不同命名空间下的类调用的两种方法:

   1、写全称 命名空间,类名

   2、先using引用命名空间,再调用

  如果代码和被使用的类在一个命名空间,不用using。

积跬步以至千里,积小流以至江海!!!

猜你喜欢

转载自blog.csdn.net/syx8821/article/details/80207120