面向对象抽象封装

• 第一章
第一次课
• 使用类图如何描述设计
- private(私有) 属性
+ public(公共) 方法
访问修饰符:
缺省(默认),只能被同一个包中的类访问
private(私有的),访问权限最小,只能自己访问
public(公共的),访问权限最大,任何类都可以访问
protected(受保护的)【继承中讲解】
• 面向对象设计的步骤
• 发现类(名词)
• 发现属性(名词或形容词)
• 发现方法(动词)
• 类和对象的概念
• 什么是类?如何创建类
类是一个模型、模板,是抽象的
• 什么是对象?如何创建对象
对象是模板的具体化、实例化,是客观存在的
• 类和对象的关系?
类是对象的抽象化,对象是类的实例化
• 类的成员有哪些?如何访问类的成员?
• this关键字,表示当前类的对象
• 只能在当前类中使用
• 不能在static方法中出现
• static标记的方法或属性,表示类的成员
• 在当前类,直接写方法名来调用
• 在其他类中调用
必须使用【类名(或对象名).static成员名】
• final关键字,表示类的常量(存储的是不变的数据)
• 修饰的全局变量(属性),常量
• 常量名,遵循编码规范,必须全部大写
• 声明后,必须马上赋值,在后面的代码中不能修改常量的值
• 如何调用常量?
• 在自己内部,直接写常量名
• 在其他类中,通过【对象名.常量名】

第二次课
• 构造函数——1种特殊的方法
• 特征?
• 方法名和类名相同
• 没有返回类型,void关键字都没有
• 一般情况下,访问修饰符是public的
• 作用?
初始化类的成员
• 如何调用?
创建对象时自动调用构造方法
类名 对象名=new 类名(【值】);

构造方法重载后,2个构造方法之间如何相互调用?
this(【值】);//必须写在第一行
• 注意事项:
• 如果类中,没有写构造方法,系统会自动提供一个无参数的构造方法用于初始化类的成员
• 如果类中,写了带参数的构造方法,系统将不再自动提供无参数的构造方法
• 方法重载
• 特征
• 在同一个类中
• 方法名相同
• 参数列表(个数、类型)不同
• 注意事项:
与方法的返回类型,访问修饰符没有任何关系
• 重载后的方法,如何调用?
根据传递的实参的个数和类型,自动查找对应的方法
课后作业:完成上机练习1、2、3、4

第三次课,封装的概念及使用
• 封装的好处? 
隐藏实现的细节,提高程序的可重用性和可维护性
• 封装的步骤?
• 将属性的public或缺省权限 修改为私有的private
• 编写封装属性的2个方法
• public void set属性名(属性数据类型 参数名){
}
• public 属性的数据类型 get属性名(){
return 属性名;
}
• 修改setter方法体,编写逻辑控制语句(比如if),限制参数不符合逻辑的值
• 自动生成属性对应的getter和setter方法
• 快捷键:Shift +Alt+ +S+R
• MyEclipse中菜单栏
Scource——>Generate Getters and Setters…

posted @ 2017-06-12 08:35  街角的守望。  阅读(144)  评论(0编辑  收藏  举报