抽象和封装

简介: 抽象和封装

一、软件出现的目的是为了:

1.用计算机语言描述现实世界。

2.用计算机解决现实世界中的问题。

二、面向对象:

1.与人类的思维习惯一致

2.代码可重用性高,可靠性高。

三、从现实世界中抽象出类:

1.发现类

2.发现类的属性

3.发现类的方法

四、使用类图描述类:

1.用于分析和设计类

2.直观、容易理解

五、类图:

1.类名

2.属性名和属性类型

3.访问修饰符:+,public ,-private

4.方法名和返回值类型

六、构造方法:

1.特点:在类里面,方法名与类名一致。一个类中必须得包含一个无参的构造方法。

2.执行时机:创建该类的对象时(new 类名),执行构造方法。

3.创建类的时候,系统会自动的创建一个无参的构造方法。但是,如果该类里面有带参的构造方法的话,系统将不会自动创建无参的构造方法,必须得手动创建一个无参的构造方法。

七、static,静态的:

1.静态变量的语法:static 变量类型 变量名 = 值;

2.调用静态变量的语法:

(1)对象名.变量名

(2)类名.变量名

八、常量:

1.语法:final 变量类型 变量名 = “值”;

2.特点:只能在声明的时候给它值,不能修改。

九、静态常量:

1.语法:static final 变量类型 变量名 = “值”;

2.特点:不能修改,调用的时候可以是对象名.变量名,也可以是类名.变量名。

3.static可以修饰属性、方法和代码块

4.使用static 修饰的属性称为类属性,修饰的方法称为类方法。

5.不使用static修饰的属性和方法被称为实例属性和实例方法。

6.final可以修饰属性,方法和类。

7.不使用static修饰的属性,只能用对象名.属性名来调用。

十、方法重载:

1.方法名相同

2.参数列表不同

eg:public void a(){}

public int a(){}

这两个方法不是重载

public void a(){}

public void a(int a){}

这两个方法是重载

十一、封装:

1. 概念:对内隐藏实现细节,对外提供公共的方法来使调用者调用。

2.好处:

(1)只能通过规定的方法访问数据。

(2)隐藏类内部实现细节。

(3)方便加入控制语句

(4)方便修改实现

3.使用封装的3个步骤:

(1)将属性的访问修饰符修改成private

(2)给每个属性创建getter和setter方法

(3)在getter和setter方法中加入控制语句。

(4)给属性封装的快捷键:alt+shift+s

4.eg:

private int health;

//getter方法

public int getHealth(){

return health;

}

//setter方法

public void setHealth(int health){

if(health<0||health>100){

this.health = 100;

}else{

this.health = health;

}

}

5.注意事项:

一般,属性名都是小写,get和set方法的名字,首字母小写,第二个单词以及后面的,首字母均大写,eg:getHealth,setHealth

目录
打赏
0
0
0
0
57
分享
相关文章
|
9月前
|
抽象,封装
抽象,封装
41 1
10 抽象与封装
10 抽象与封装
96 0
抽象 与 接口
引用:http://tonysmith.iteye.com/blog/1436528 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。
791 0
关于代码抽象那点事
前段时间,接手同事的一个项目,经理要求我对于项目内的重复代码尽可能的抽象优化。对于个别难以抽象的基类,我也是深受其教。 首先,写一个抽象基类,用来概括多个实现子类可能共同需要的方法或属性实现,包括构造函数中的初始化参数。
858 0
为什么没有抽象,就没有封装继承多态
为什么没有抽象,就没有封装继承多态
73 0
没有抽象就没有封装继承多态
没有抽象就没有封装继承多态
何时抽象
2017年6月30日 16:31:28 星期五 编写PHP不像java抽象类, 接口类的使用已经习以为常 PHP的抽象层级不会很多, 但有时候也需要借鉴一下其它语言普遍的设计思想 比如说: 商城里边有各种各样的促销活动, 他们最终在前端展示的信息都基本相同, 这样, 就可以有一个公共的抽象...
718 0

热门文章

最新文章