面向对象—C#高级编程(第10版)学习笔记8

一、第三章 对象和类型

1、类和结构的区别:

     二者实际上都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。都使用new来创建和初始化。

    1)类定义了每个对象(称为实例)可以包含的数据和功能,类是引用类型,总是存储在堆(heap)上,关键字class,

          类静态成员属于类,实例成员属于对象。类成员: 字段、属性(也可以定义只有get或者set访问器的属性)、常量(最好别声明为Public,private)、方法、构造函数、索引器、运算符、事件、析构函数、类型(类可以包含内部类)

     2)而结构是值类型,通常存储在栈(stack)上,不支持继承。关键字struct

2、方法

    注意,正式的C#术语区分函数和方法:

  1C#术语的函数成员:不仅包含方法、也包含类或结构的一些非数据成员,如索引器、运算符和构造函数和析构函数等,甚至还有属性。

  2C#术语的数据成员:而字段、常量和事件才是。

3、方法重载:overload 方法名相同 参数个数和/或数据类型不同,仅通过返回类型或者参数名称是不足以区分的,方法重载是可以调用另一个重载方法

4、方法重写(覆盖):override

5、方法参数 :

1)命名的参数

2)可选参数,必须是方法定义的最后参数;int GetSquareOf(int x,int y=1,int z=2){...}

3)个数可变的参数:int AnyNumberOfArguments(params int[] data){...} params Object[] data

 public void AnyNumberOfArguments(params Object[] data)
        {

        }

  调用:AnyNumberOfArguments("123", 456);

4)个数可变的参数+命名参数 则“个数可变的参数”只能使用一次,且必须是方法的最后一个参数

6、构造函数

 可以为构造函数提供任意多的重载,只要它们的签名有明显的区别即可

  静态构造函数

只读字段

枚举

部分类

静态类

Object类

二、第四章 对象和类型

猜你喜欢

转载自www.cnblogs.com/yxli2008/p/10886591.html