1.类与对象的基本概念
1.1 对象的简要总结
- 对象的概念:任何存在的实体都是对象,对象是真实存在的,他包括"动态特征" 和"静态特征"
- 静态特征:表示对象的属性,用来存储对象本身的数据。
- 动态特征:表示对象的方法,用来说明对象能做什么
- 对象的作用:
- 数据存储在对象的属性中
- 软件的功能都是通过方法实现的
1.2 对象的简要总结
- 将同一类对象的共有属性,方法抽象出来,组织在一个单元中就成为类
1.3 类与对象简要总结
- 类与对象的区别:
- 类定义的是一个概念模型,在这个模型中,规定对象的属性和方法
- 对象是按照类这个模型,创造出来的真实实体,每个属性都有特定的值
2.类的定义与对象的使用
// 类的定义规范
访问修饰符 class 类名 注意:定义类名,规范命名首字母大写,避免单词缩写
{
// 定义字段部分
字段1 的类型 字段1
字段2 的类型 字段2
// 定义属性部分 注意:编写类的字段,属性 (用来描述类的静态特征)
属性1 的类型 属性1
属性2 的类型 属性2
// 定义方法部分 编写类的方法、接口 (独立完成某个功单元模块)
方法1
方法2
}
//实例
public class Student
{
private int strudentID;
private string studentName = string.Empty;
public int StudentID
{
get { return strudentID; }
set { strudentID = value; }
}
public string StudentName
{
get { return studentName; }
set { studentName = value; }
}
public string ShowStudent()
{
string info = string.Format("学号:{0},姓名:{1}", strudentID, studentName);
return info;
}
}
// 调用
public string ShowInfo()
{
Student stu = new Student();
stu.StudentID = 1;
stu.StudentName = "烂笔头技术栈";
string info = stu.ShowStudent();
return info;
}
3.字段与属性
- 访问修饰符,作用:限制对象的属性或方法可访问范围(类的内部,类的外部)
- private(私有的:外部不可见)
- public(公有的:外部可见)
- 字段的使用(又称为"成员变量")
- 一般在类的内部做数据交互使用,一般使用private
- 字段的命名规范:字段命名一般采用camel 命名法
- 属性
- 属性的使用
- 作用:在面向对象设计中主要使用属性描述对象的静态特征
- 要求:一般采用Pasal命名法,数据类型和字段要一致,使用public修饰
- 属性的理解
- 属性其实是外界访问私有字段的入口,属性本身不保存任何数据
- 给属性赋值,其实是给属性指向的私有字段赋值
- 读取属性值,其实是获取属性指向的私有字段值或其他值
- 使用属性避免非法数据
- 在get 和set 方法中可以添加任何我们需要的业务逻辑,从而有效避免非法数据
- 没有对用私有字段的属性
- 属性的使用
- 字段与属性比较
- 字段(即:成员变量)
- 主要是为类的内部做数据交互使用,一般为private
- 字段可以赋值,也可以取值
- 当字段需要为外部提供数据时,请将字段封装为属性,而不是使用公用字段,这是面向对象所倡导的。
- 属性
- 属性一般是向外提供数据,主要用来描述对象的静态特征,所以属性一般是public
- 属性可以根据需要设置为只读只写提高数据安全性
- 属性内部可以添加我们需要的业务逻辑,从而避免非法数据
- 字段(即:成员变量)
- 自动属性
- 属性编写新语法(自动属性:.Net 3.0 以及其后续版本)
-
//自动属性的语法 private double salary; public double Salary { get{return salary;} set{salary = value;} } // 简化写法 public double Salary{get;set;}
-
优点:简化属性代码
-
快捷方式: prop +tab+tab
-
使用要求:
-
不能直接操作私有字段
-
不能直接设置只读、只写属性
-
不能添加验证逻辑
-
4.方法的定义和使用
- 方法的理解
- 概念:对象的动态特征就是方法,方法表示这个对象能够做什么
- 类型:实例方法、静态方法
- 方法定义要求
- 定义规范
-
访问修饰符 返回值类型 方法名(参数1,参数2....) { // 这里编写方法的主体 return 返回值; } // 注意事项: //1. 访问修饰符:可以省略,默认private,可以根据需要,定义成public //2. 方法名:采用Pascal,首字母大写,不能以数字开头 //3.参数列表:根据需要添加 //4. 使用Return 返回,return 后面不能再用其他语句
3.方法的调用
-
方法的重载
-
静态方法以及重载
-
关键字 static 的使用:关键字static 可以修饰类、方法、成员变量,修饰后我们称之为:静态类、静态方法、静态变量
-
静态方法的调用:类名.方法名
-
实例:
-
静态成员使用经验
-
静态成员在程序运行时,被调入内存中,并且在系统未关闭前不会被GC回收
-
类的成员使用非常频繁的时候,可以考虑使用static 修饰,但不要使用过多
-
静态成员不能直接调用实例成员(静态方法不能直接调用实例方法)
-
静态方法也可以重载
-
-