问:面向过程和面向对象有什么区别?
答:面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用.
面向对象的核心是封装了属性和方法(行为)的娄,发数据为中心,实现了类级别的代码重用.面向对象因为采用了类,所以具有继承和多态特性,可以进一步重用代码和简化编程,
而面向过程没有继承和多态特性.
类和对象的是面向对象的两个核心概念.类是对某一类事物的描述,是抽象的,概念上的定义.对象是实际存在的,具体的事物个体.类和对象就好比建筑物图样和建筑物实物的关系.
类名,属性名,方法名及常量名的命名规范:
类名由一个或几个单词组成,每个单词的第一个字母大写
属性名和方法名由一个或几个单词组成,第一个单词首字母小字,其它单词首字母大写
常量名由一个或几个单词组成,所有字母大写.
构造方法
构造方法的名称的类名相同,没有返回值类型.构造方法的主要作用就是在创建对象是执行一些初始化操作,如给成属性赋初值.
在没有给类提供任何构造方法时,系统会提供一个无参的方法体为空的默认构造方法,一旦自定义了构造方法,系统将不会提供这个默认构造方法.如果要使用它,必须要手动添加.
方法重载
必须是同一个类里
方法名相同
参数列表(方法参数的个数或参数类型)不同.
与方法返回值和方法修饰符没有任何关系
static修饰符
static可以用来修饰属性,方法和代码块.
在加载类的过程中,先完成静态变量的内存分配,再执行静态块,静态变量和静态块是在创建对象之前执行的
静态方法中不能使用this和super关键字
封装的具体步骤
修改属性的可见性来限制对属性的访问;为每一个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的存取de赋值方法中,加入对属性的存取控制语句.
封装的好处
隐藏类的实现细节;让使用者只能通过程序规定的方法来访问数据;可以方便的加入存取控制语句,限制不合理操作.