java高级_抽象与封装

chapter01_抽象与封装

本章目标
使用类图描述设计
掌握面向对象设计基本步骤 重点、难点
掌握类和对象的概念
掌握构造方法及其重载 重点
掌握封装的概念及其使用 重点

一、 抽象
a) 抽象(区分类别)是人类与生俱来的自然行为。所以java语言中的抽象符合了人类现实世界中的特有的行为.
b) 在java中抽象的步骤:
i. 找到类,编写类
public class Dog{}

ii. 找到我们所关心的类所共有的属性,编写属性
//编写属性
String nickName;//昵称
String strain;//品种
int health;//健康值
String sex;//性别
int love;//爱心度

iii. 找到我们所关心的类所共有的行为,编写行为
/*
* 自我介绍
*/
public void sayHello(){
System.out.println(“主人,您好,我是一只”+sex+”的”+strain+”犬,现在的健康值”+health+”,与你的亲密度:”+love);
}

二、 构造函数
1、 为什么要使用构造方法(构造器/构造函数)?
a) 使用构造函数的目的就是创建类的一个实例(对象)
2、 如何定义构造方法
a) 语法:访问修饰符 类名(参数列表){}
i. 无参构造
public Dog(){
nickName=”小九”;
strain=”拉布拉多”;
health=80;
sex=”雌性”;
love=50;
}
ii. 有参构造
public Dog(String name,String strain,int health,String sex,int love){
nickName=name;
this.strain = strain;
this.health= health;
this.sex = sex;
this.love = love;
}

3、 构造方法的定义注意事项
a) 当不去自定义构造器时,系统会提供一个默认的无参构造器
b) 当自定义构造器时,系统不再提供默认的无参构造器,创建对象时,只会使用自定义的构造器。
c) 当有参构造器中的参数名与属性名重名时,一定要在构造器赋值时,属性名前加this关键字来区分属性与参数。(this:指当前对象)
d) 当自定义构造器后,创建对象时,只能只用自己创建的构造器创建对象。
三、 方法的重载:
a) 为什么要使用方法的重载?
i. 设置方法的重载可以做到一个功能有多种实现方式。提高了方法实现的可选择性。是程序更为灵活。
b) 方法的重载的定义(面试题):
i. 方法名一定要一致
ii. 方法中的参数个数不同
iii. 方法中的数据类型可以不同。
iv. 与方法的返回值类型,访问修饰符无关。
四、 static静态以及final 常量
a) static:
i. 被static修饰的变量,方法都是类的成员,可以直接使用类名.变量或方法直接使用。
ii. static 只能修饰变量,方法
iii. 特点:使用static修饰的成员往往执行效率高。但是安全性低。
iv. 使用场景:如果在类中,有些属性想在类加载时就被初始化。我们可以使用静态块:static{属性=值;}
v. 在方法中不能使用static修饰变量
vi. 使用static修饰的方法中只能出现static修饰的变量

b) final:最终的。
i. 在java中使用率比较高。可以修饰变量,类,方法
ii. 被final修饰的类不能被继承,final修饰的变量叫常量,定以后必须立马赋值,而且值不能被改变。final修饰的方法不能被重写。
iii. 经验:常量,因为值不能被改写,所以往往会把它定义在类的全局,与static关键字结合使用。

五、 封装:
a) 封装是面向对象思想中三大特性之一,封装的目的是将经常使用操作的过程封装在某个结构中,可以得到服用。例如:(1)对象封装了属性以及行为。只要创建了对象,就可以使用对象名.属性、对象名.方法()对属性,方法进行多次的操作。(2)方法:是对某个功能实现的过程进行封装,当需要多次使用该功能时,代码只需要写一次,被调用多次。提升了开发效率,以及维护效率。(3)可以使用方法对类成员的字段进行封装,这样可以使字段操作更为灵活,合法,安全。
b) 示例:对字段的封装:
字段:private int health;
封装:public void setHealth(int health){—对赋值进行了约束,是拘束合法合理
if(health>100||health<0){
this.health = 100;
}else{
this.health = health;
}
}

public int getHealth(){-----取值
    return health;
}

六、 TO..DO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值