一、为什么需要面向对象?
生活中所有的东西都是一个个的对象,为了描述他们方便,我们就把它们使用面向对象的方式来解决。
二、什么是面向对象编程?
根据具本的实际生活(业务),设计相对应的类或对象出来,按照生活中的流程或逻辑来操作程序中的类或对象,这样更直观,更方便。
三、面向对象的三大特性:封装、继承、多态。
**********************************************************
一、类的基本概念
(一)类的基本了解。
类:自己定义的一种复杂的类型。
类一般包括两大部分:字段-成员变量(名词或形容词),方法-成员函数(动词)
类的关键词:class
(二).类的定义:
class 类名
{
成员变量的定义;
...
成员函数的定义;
...
}
在类的成员(成员变量,成员函数)前面经常会加访问修饰符(public private protected)
public - 公有的。例如:。。。
private - 私有的。例如:。。。
(三).类的使用:
Dog d = new Dog(); //实例化
d.Name = "旺财";
d.Owner = "张三";
d.Run();
d - 对象的引用。
new Dog() - 真正的狗的对象。
(四)附加:
C#中的变量的类型:
1、值类型:
int float double char bool struct datetime
2、引用类型:
string 数组 自定义的类。
模型图:堆空间与堆空间。
1.用模型图解释:
A a1 = new A();
A a2 = new A();
Console.WriteLine(a1== a2); //结果为什么是false?
2.用模型解释:上面狗的例子,为什么最后d.Run()会显示成李家的狗?
3.用模型解释:int a = 100; int b= 100; Console.WriteLine(a == b);结果为什么是true?
类的封装:不要随便把成员变量设成public,一般需要设成private或protected,通成员方法或成员属性来实现对成员变量的合法访问。
二、类的成员——属性
属性:对成员变量进行访问的端口。
(一)属性的定义:
public 类型 属性名
{
get
{
}
set
{
关键词value.代表是要赋的值。
}
}
(二)属性的使用:
直接通过属性名进行使用。
Console.WriteLine(r.Height); - 调用属性的get部门
r.Height = 180; -调用属性的set部分。
三、类的方法——成员函数——方法重载
方法的名子相同,参数不同(类型不同,个数不同)——形成了方法的重载。
重载方法与返回类型无关。
好处:
1.减少方法名的定义,不用记太多的方法名了。
2.减少代码重复,更大限度的重用,代码结构更合理。
多个重载方法被调用的时候,首先找方法名,然后再根据参数找对应的重载方法。