面向对象的几个基本概念的理解
一、面向对象是执行者到指挥者的转变
现在要做一件事情:把大象放进冰箱。 做这样一件事的步骤就是:1、打开冰箱。2、放进大象。3、关上冰箱门。
如果你是这么做的,那么这就是面向过程,它偏向于是事件的“执行者”。而面向对象,则偏向于是事件的“管理者”,它一定是先创造出一种冰箱,它具备可以开门,可以拉大象进门,可以自动关门的功能,然后调用这个冰箱去自己完成“把大象放进冰箱”这件事。
你愿意去当一个执行者,还是去当一个管理者?当然是管理者,所以,编程语言的发展,一定更趋向于人的更合理的思维方式。
二、类和对象
“物以类聚”这句成语听过吧?类,就是具有相同特征的一类事物的统称,它是抽象的,不能直接使用。对象就是类里面的一个具体存在,看得见,可以直接使用。
三、变量/方法/类名的命名规范
变量命名规范:
1、变量如果就一个单词,全部小写。如有多个单词,除第一个单词外,其余单词的首字母大写,如果变量名是1一个缩写,如“CCTV”,每个单词都要大写。
2、命名要有意义。如:string strName;
3、变量是名词。
方法/类名命名规范:
1、每个单词首字母大写,方法名是是一个动作,类名是一个名词。
2、命名要有意义。
四、局部变量和成员变量区别
1、作用域不同,成员变量定义在类的下面,方法的外面。局部变量则定义在方法的里面。
2、局部变量必须赋值,它没有默认值,而成员变量有默认值(数值类型的默认值是0,引用类型的默认值是null)。
五、深刻理解下面代码
//Person以及其字段、方法代码略 void Main(string arg[]) { Person p1=new Person(); Person p2=new Person();//同一个类的多个对象之间毫无关系,唯一的关系是它们都是根据同一个类的模版创建的。 p1.name="qkh"; p1.age=18; p1.gender=false; p1.Sing(); }
注:以上内容均属软谋远程,如需转载,请注明出处。