@km.zhao 即使遍体鳞伤,也要活得漂亮!
什么是面向对象
面向对象是面向过程而言,面向对象和面向过程都是一种思想;
面向过程强调的是功能行为;
面向对象强调的是封装了功能的对象;
面向对象是基于面向过程的;
思考:指挥者- - -执行者;
三个特征:封装,继承,多态;
类与对象
类:存储数据并执行数据的代码块;类是抽象的,是一种模板,是对象的类型。包含数据成员和函数成员;
数据成员存储数据,模拟现实世界事物的特性;函数成员执行代码,模拟现实世界事物的功能;
对象:具体的实例(instance)是具体的实体。
类不占内存,对象才占内存。
成员变量和局部变量的区别
1.作用范围:成员变量作用于整个类中;局部变量只作用于函数中或语句中。
2.内存中的位置:成员变量存在于堆中(因为对象的存在,变量才存在);局部变量作用于栈内存中。
3.默认值:成员变量有默认值;局部变量没有默认值,必须初始化才能使用。
匿名对象的用法:
1.当对对象的方法只调用一次时,可以用匿名对象来完成;
2.匿名对象作为实际参数进行传递
构造函数:
1.特点:函数名与类名相同;不能有返回值类型,连void都没有;
2.作用:用于对对象的初始化;
3.每个类都有一个默认的无参的构造函数,如果为该类定义一个构造函数,则系统不再默认有无参构造函数。
一个类中默认会有一个空参数的构造函数,这个默认的构造杉树的权限和所属类一致。
如果类被public修饰,那么默认的构造函数也带public修饰符。默认构造函数的权限随着类的访问修饰符而改变。
4.构造函数和一般函数的区别:
构造函数是再对象一建立就运行,给对象进行初始化;一般函数是在调用才执行;
一个对象建立,构造函数只运行一次;而一般函数可以被该对象调用多次。
5.什么时候用构造函数?
当分析事物时,该事物存在具备一些特性或者行为;