您的位置:首页 > 编程语言

面向对象编程(二)封装--构造方法,this关键字,static关键字,方法重载

2016-03-17 22:27 274 查看
面向对象三大特点:封装、继承、多态

封装概念

① 将东西包装在一起,然后以新的完整形式呈现出来:

将方法和字段一起包装到一个单元中,单元以类的形式实现;

② 信息隐藏,隐藏对象的实现细节,不让外部直接访问到;

③ 将数据和方法包装进类中,加上具体实现的隐藏,共同被称作封装,其结果是一个同时带有特征和行为的数据类型;

④ 定义类,定义其属性、方法的过程称为封装类;

信息隐藏式OOP最重要的功能之一,也是使用访问修饰符的原因;

信息隐藏的原因包括:

① 对模块的任何实现细节所作的更改不会影响使用该模块的代码;

② 防止用户意外修改数据;

③ 是模块易于使用和维护;

访问修饰符

① public:该类或非该类都均可访问;

② private:只有该类可以访问;

③ protected:该类及其子类的成员可以访问,同一个包中的类也可以访问;

④ 默认:同一包中的类可以访问;

属性封装的实现

① 修改属性的可见性来限制对属性的访问;

② 为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于公开对这些属性的访问接口;

③ 在setter和getter方法中,根据需要加入对属性操作的限制;

要点:除非必须公开底层实现细节,否则应该将所有属性指定为private加以封装;使用属性封装,通过增加数据访问限制,增强了类的可维护性;

封装方法的目的

① 隐藏方法实现细节(方法体),向外部提供公开接口(方法头),以供安全;

② 简化调用,方便修改维护;

③ 根据需要,可以私有化方法以供类内部使用----帮助方法help;

public class OverloadDemo{
public static void main(String []agrs){
Printer p=new Printer(2000);
p.print("hello");
p.print(10);
p.print("hello",10);
}
}

class Printer{
private String brand="联想";
private double price;

public Printer(double price){
this.price=price;
}

public Printer(String brand,double price){
this.brand=brand;
this.price=price;
}

public void print(String content){
System.out.println("字符串"+content);
}

public void print(int content){
System.out.println("整型"+content);
}

public void print(String str,int content){
System.out.println(str+"--"+content);
}

public int print(int content,double d){
return content;
}
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: