什么是面向对象:
面向对象可以理解为一切元素都是对象,在设计时以对象为单位,考虑它的属性及方法。
面向对象的特征:封装、继承、多态
对象:一种类型的事物,具有属性和行为
面向对象分为三个层面:OOP(编程)、OOD(设计)、OOA(分析)
字段
定义在类里面的变量,不是定义在方法里面
局部变量:定义在方法里面的变量
字段的声明:
public class A
{
int i; // 私有
private int j; // 私有
public int k; // 共有
}
语法:[访问修饰符] 数据类型 字段名;
属性
作用:保护私有字段,类的传值、类的公开变量
自带set和get方法的类的成员,主要用来保护访问私有字段
自动属性的快捷键:prop+tab+tab
步骤:
(1)声明私有字段
private int age;
(2)声明共有属性
public int Age
{
get
{
return age;
}
set
{
age = value;
}
}
类
类是对象的抽象,对象是类的实例
类包含属性和行为
语法:
访问修饰符 返回类型 方法名 ( 参数列表 )
{
// 方法的主体…
}
//学生类
public class Student
{
//属性:姓名、年龄、性别
public string name { get; set; }
public int age { get; set; }
public string sex { get; set; }
//行为:上课、活动
public void Study() { }
public void Play(){ }
}
方法
public class A
{
// 无参的方法
public void Fun() { }
// 带参的方法 (传值调用)
// 将整数变量传递到Fun2
public void Fun2(int i) { }
// ref参数 (引用调用)
// 将整数变量的地址传递到Fun3
public void Fun3(ref int i) { }
}
方法的参数传值分为两种:
(1)按值传递
int j = 10;
Fun(j);
public void Fun(int i) { }
(2)按引用传递
Fun(ref j);
public void Fun(ref int i) { i=20; }
调用时需要显示输入ref
区别:按值传递是将参数的值拷贝传递,按引用传递是将参数的地址传递