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 修饰,但不要使用过多
静态成员不能直接调用实例成员(静态方法不能直接调用实例方法)
静态方法也可以重载