1.面向对象
略
2.类
[public] class 类名
{
字段; //字段前面必须加_下划线
属性;
方法;
}
1)创建类的对象的过程叫做类的实例化,使用关键字new
2)this 表示当前对象
3)类是不占内存的而对象占内存
3.属性
属性的作用就是用来保护字段,对字段的赋值和取值进行限定
属性的本质就是get/set方法
1) Field 字段
Method 方法
Property 属性 类似于java的getset方法
2) 与Java的写法不同
例如:
public string Name
{
get
{
return this._name;
}
set
{
this._name = value;
}
}
4.访问修饰符
public 公共的
private 私有的,当前类内部才可使用
5.静态和非静态的区别
1) 静态成员必须使用类名调用,实例成员使用对象名调用
2) 静态函数中,只能访问静态成员,不允许访问实例成员
3) 实例函数中既可以使用静态成员你,也可以使用实例成员
4) 静态类中只允许有静态成员,不允许有实例成员
5) 静态类不允许被实例化
6) 只有在程序结束之后,静态类才会释放资源
6.构造方法
用来初始化对象
创建对象的时候会调用构造函数
可以用于给对象附初始值
1)构造函数没有返回值
2)构造函数的名称必须与类名一致
3)构造函数可以重载
例如:
public Person(){}//无参构造函数
public Person(string name, int age)//有参构造函数
{
this._name = name;
this._age = age;
}
7.new
使用new关键字会做三件事
1)在内存中开辟一块空间
2)再开辟的空间中创建对象
3)调用对象的构造函数进行初始化对象
8.this
1)代表当前类的对象
2)在类中显示的调用本类的构造函数 :this(参数)
9.析构函数
当程序结束的时候析构函数才被执行
用处:帮助我们释放资源
~类名
{
方法体;
}
10.命名空间 点击小图标/alt + shift + f10 导入命名空间
在一个项目中引用另一个项目的类
1)添加引用
2)引用命名空间
11.值类型和引用类型
值类型和引用类型在内存上的存储方式不同
在传值类型和引用类型的时候,传递的方式不一样
值类型:值传递 引用类型:引用传递
1)值类型(存储在栈中):int,double,bool,decimal,char,struct,enum
2)引用类型 (存储在堆中):string,自定义类
12.字符串的不可变性
略,同Java
13.字符串的方法
1)直接使用下标获取当前的位置的字符
2)ToCharArray() 将字符串转换为char类型数组
3)StringBuilder
4)Length 获得当前字符串中的字符个数
5)ToUpper() 转成大写 ToLower() 转成小写
6)Equals() 比较两个字符串
7)Split() 分割字符串
8)Substring() 截取字符串,包含要截取的那个位置
9)Indexof() 判断摸个字符串在字符串中第一次出现的位置,如果没有返回-1
10)LastIndexof 判断摸个字符串在字符串中最后一次出现的位置,如果没有返回-1
11)StartWith() 判断以...开始
12) EndWith() 判断以...结尾
13) Rerplace() 替换字符串
14) Contains() 判断字符串是否存在
15) Trim() 去掉字符串前后的空格
16) IsNullOrEmpty() 判断字符串是否为空或者为null
17)string.Join() 将数组按照指定的字符串链接,返回一个字符串
Stopwatch 计时器
14.继承
class Student:Person // student类继承person类
子类继承父类
我们可能会在一些类中写一些重复的成员,我们可以将这些重复的成员抽象出来单独封装到一个类中,作为这些类的父类
1)继承的特性:
继承的单根性:一个子类只能有一个父类
继承的传递性:
2):base(参数) 调用父类的构造函数
15.使用new关键字隐藏父类成员
隐藏从父类那里继承过来的同名成员
隐藏的后果就是子类调用不到父类的成员
16.里氏替换
子类可以赋值给父类
如果父类中装的是子类对象,则可以讲这个对象强制转化为子类对象
转换判断:
1)is 如果能够转换成功,返回一个true,否则返回一个false
2)as 如果能够转换,则返回对相应的对象,否则返回一个null
17.protected访问修饰符
受保护的,在该类中及其子类中可以访问
18.集合ArrayList
c#中没有size只有Count,来得到集合长度
Add 添加单个元素
AddRange 添加集合元素
Clear 清空所有元素
Remove 删除单个元素
RemoveAt 根据下标删除元素
Sort 升序排序
Reverse 反转
Insert 插入