1.面向过程:面向的是完成这件事情的过程,强调的是完成这件事情的动作。
把大象塞进冰箱里
1.打开冰箱门
2.把大象塞进去
3.关闭冰箱门
如果用面向过程的思想来解决这件事情,当执行这件事情的人不同的时候,需要为每个不同的人量身定做解决事情的方法。
对象是需要看得见摸得着
灯:属性和方法
属性:
外形:长的
亮度:500w
颜色:白色
牌子:XX
方法:发光
电风扇:属性和方法
属性
外形:三个扇叶
颜色:白色
品牌:XX
方法:转动、扇风
我们把具有相同属性和相同方法的对象进行进一步的封装,抽象出来,类这个概念。类是个母子。确定了对象的属性和方法。
对象是根据类创建出来的。
类是盖大楼的图纸,对象是盖出来的大楼。
2.类
语法:
[public] class 类名
{
字段;
属性;
方法;
}
写好一个类,需要创建一个类的对象,将创建类的对象的过程成为类的实例化,使用关键字new
非静态函数被调用时候,直接用创建的对象进行调用。
类是不占内存的,对象是占内存的。
3.属性
属性的作用是保护字段,对字段赋值和取值进行限定。
属性的本质是get()和set()
属性只是起到过度作用,最注重的赋值是字段。
既有get()也有set()称之为可读可写属性
只有get()没有set()称之为只读属性
没有get()只有set()称之为只写属性
4.静态和非静态区别
在非静态类中,既可以有静态成员也可以有非静态成员(实例成员)
在调用实例成员的时候,需要使用对象名.实例成员
在调用静态成员的时候,需要使用类名.静态成员
注意:静态成员必须使用类名去调用,实例成员都需要使用对象去调用
静态函数中,只能访问静态成员不能访问实例成员。
实例函数中,既可以使用静态成员也可以使用实例成员。
不能在静态类中声明实例成员,只能有静态成员。
对于一个静态类而言,不需要对象进行调用,因此不能创建一个静态对象。
使用:
1)如果想要类当做一个工具类去使用,这个时候可以考虑将类写成静态类。
2)静态类在整个项目中资源共享。不占内存
只有在程序全部结束之后,静态类才会释放资源。也就是说程序只要在运行,静态类永远不会释放资源。
堆 栈 静态存储区
释放资源:(GC)Garbage Collection垃圾回收器
using System.Text;
namespace lei
{
public class Person
{
private static string _name;
public static string Name
{
get{return Person._name;}
set{Person._name=value;}