C#封装相关知识

c#封装相关知识

来源慕课网视频学习笔记: https://www.imooc.com/learn/554
《C#封装相关知识》

《C#封装相关知识》

面向对象

封装、多态、继承

实例化

定义类

类成员
字段描述静态特征
方法描述动态特征

实例化

类名 变量名 = new 类名();

访问修饰符

public private protect

封装

隐藏对象的信息
留出访问的接口

访问器
~~~C#
public string Sex{
get{return _sex;}
set{_sex=value;}
}

xiaoming.Sex="";

<pre><code class="line-numbers">#### 只读属性
内部初始化和构造函数方法

#### set块越输属性赋值
直接在set进行条件判断

#### 调用无参方法

#### 重载
方法名相同,参数类型和数量不同

#### 构造方法
为对象的属性赋值
如果没有显示定义构造方法,则会有一个默认的无参数的构造方法
如果显示定义了构造方法,则没有默认构造方法
只能用new方法名的形式调用构造方法

构造方法通常声明为public,没有返回值类型,必须与类名相同

#### this

#### 对象初始化器
Child child3 = new Child() {Name="ssss"};

#### 值类型和引用类型
int char double bool
类 数组 接口 string

值类型变量存储对象的值
赋值时会创建值的副本
修改任何一个副本,不会影响其他的副本

引用类型变量存储对象的内存地址
赋值不会创建值的副本,指挥创建地址的副本
修改任何一个副本,也同时修改其他的副本

#### 结构struct
1. 结构是值类型,类是引用类型
2. 结构中可以定义字段、属性和方法
3. 不能为结构中的字段赋初始值
4. 结构的构造方法中必须为所有的字段赋值
5. 不能为结构显式定义无参数的构造方法
6. 结构类型的对象可以不实例化

#### 枚举enum
~~~c#
enum enumName
{
value1,value2,....
}

  1. 枚举是值引用
  2. 枚举中不能定义字段属性和方法
  3. 枚举值是从0递增的整数

方法传参中的值类型和引用类型

引用传参会影响实参
值传参不会影响

ref关键字

通过关键字ref可以将值传递变成引用传递
但是ref不能使用类属性传参,且定义和传递都需要带ref

out关键字

使用out将值输出变成引用输出,且定义和传递都需要带out

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *