黑马程序员技术交流社区
标题: 面向对象的三大特征:封装 [打印本页]
作者: 心的方向 时间: 2013-11-23 17:23
标题: 面向对象的三大特征:封装
面向对象的三大特征:封装 继承 多态.
一.简述面象对象
面向对象就是采用”现实模拟”的方法设计和开发程序.
面向对象技术利用”面向对象的思想”去描述面象对象的世界,实现了虚拟世界和现实世界的一致性,符合人们的生活习惯,使得客户和软件开发人员之间,软件设计人员内部交流更加顺畅,同时还带来了代码重用性高,可靠性高等优点,大大提高了软件尤其是大型软件的设计和开发效率.
面向对象和面向对象的区别(简述)
面向过程的核心概念是函数,以功能为中心,实现了函数级别的代码重用.面向对象的核心概念是封装了属性和方法(行为的类),以数据为中心,实现了类级别的代码重用.面向对象因为采用了类,具有继承和多态特性,可以进一步重用代码和间简化编程,而面向过程中没有继承和多态特性.
面向对象的设计过程就是抽象的过程(发现类,发现类的属性,发现类的方法).
类和对象是面向对象中的两个核心概念
类:是对某一类事物的描述,是抽象的,概念上的定义.
对象:是实际存在的该事物的个体,是具体的,现实的.类和对象就好比模具和铸件的关系,建筑物图纸和建筑物实物的关系.一个类可以创建多个对象.
二.面向对象的三大持征(封装,继承,多态)
1.封装
封装(Encapsulation):是类的三大特征之一,就是将类的状态信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问.简而言之就是隐藏对象的属性和实现细节,仅对外提供公共访问方式.
封装的具体步骤:修改属性的可见性来限制对属性的访问;为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的存取;在赋值方法中,加入对属性的存取控制语句.
封装的好处主要有:隐藏类的实现细节;让使用者只能通过程序员规定的方法来访问数据;可以方便的加入存取控制语句,限制不合理操作.
封装时的权限控制符区别如下:
Ø private:成员变量和方法只能在类内被访问,具有类可见性.
Ø 默认:成员变量和方法只能被同一个包里的类访问,具有包可见性.
Ø protected:可以被同一个包中的类访问,被同一个项目中不同包中的子类访问.
Ø public:可以被同一个项目中所有类访问,具有项目可见性,这是最大的访问权限.
举例:
Penguin类和Dog类图
封装代码:
public class Dog
{
/*
* 封装演示
* */
//私有化属性
private String name;
private String sex;
private String color;
//封装字段
public StringgetName()
{
return name;
}
public voidsetName(String name)
{
this.name = name;
}
public StringgetSex()
{
return sex;
}
public voidsetSex(String sex)
{
this.sex = sex;
}
public StringgetColor()
{
return color;
}
public voidsetColor(String color)
{
this.color = color;
}
}
-
QQ截图20131123155038.png
(49.52 KB, 下载次数: 33)
作者: 许庭洲 时间: 2013-11-25 20:46
值得学习ing!
作者: 李文帅 时间: 2013-11-26 14:44
赞一个,很不错!{:soso_e113:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |