面向对象-抽象性思想(知识整理)

简介: 面向对象-抽象性思想(知识整理)


}

}

功能

功能:主要是完成对象数据的初始化

注意事项

构造方法的创建

如果没有定义构造方法,系统将给出一个默认的无参数构造方法

如果定义了构造方法,系统将不再提供默认的构造方法

构造方法的重载

如果自定义了带参构造方法,还要使用无参数构造方法,就必须再写一个无参数构造方法

推荐的使用方式

无论是否使用,都手工书写无参数构造方法

标准类制作

成员变量

使用private修饰

构造方法

提供一个无参构造方法

提供一个带多个参数的构造方法

成员方法

提供每一个成员变量对应的setXxx()/getXxx()

提供一个显示对象信息的show()

创建对象并为其成员变量赋值的两种方式

无参构造方法创建对象后使用setXxx()赋值

使用带参构造方法直接创建带有属性值的对象

封装应用测试案例


写一个名为Account的类模拟账户。该类的属性和方法如下图所示。该类包括的属性:账号id,余额balance,年利率annualInterestRate;包含的方法:访问器方法(getter和setter方法),取款方法withdraw(),存款方法deposit()。

/*提示:在提款方法withdraw中,需要判断用户余额是否能够满足提款数额的要求,如果不能,应给出提示。*/

创建Customer类。

/*

a. 声明三个私有对象属性:firstName、lastName和account。

b. 声明一个公有构造器,这个构造器带有两个代表对象属性的参数(f和l)

c. 声明两个公有存取器来访问该对象属性,方法getFirstName和getLastName返回相应的属性。

d. 声明setAccount 方法来对account属性赋值。

e. 声明getAccount 方法以获取account属性。

*/

写一个测试程序。

(1)创建一个Customer ,名字叫 Jane Smith, 他有一个账号为1000,余额为2000元,年利率为 1.23% 的账户。

(2)对Jane Smith操作。

存入 100 元,再取出960元。再取出2000元。

打印出Jane Smith 的基本信息

效果如图:

成功存入 :100.0

成功取出:960.0

余额不足,取款失败

代码执行:

public class Account02 {
private int id;
private double balance;
private double annualInterestRate;
public Account02(){
super();
}
public Account02 (int id, double balance, double annualInterestRate ){
this.id=id;
this.balance=balance;
this.annualInterestRate=annualInterestRate;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public double getAnnualInterestRate() {
return annualInterestRate;
}
public void setAnnualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
public void withdraw (double amount){
if(amount<this.balance){
this.balance-=amount;
System.out.println(“成功取出:”+amount);
}else {
System.out.println(“余额不足,取款失败”);
}
}
public void deposit(double amount) {
if (amount > 0) {
this.balance += amount;
System.out.println(“成功存入:” + amount);
}
}
}
public class Customer02 {
private String firstName;
private String lastName;
private Account02 account02;
public Customer02(String f,String l){
this.firstName=f;
this.lastName=l;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
相关文章
什么是面向对象,如何用面向对象的思想写代码
什么是面向对象,如何用面向对象的思想写代码
|
6月前
|
Serverless 对象存储 C++
第十三章:C++面向对象编程思想详解
第十三章:C++面向对象编程思想详解
116 0
|
Java 程序员
面向对象的思想(1)之概述
面向对象的思想(1)之概述
57 0
|
存储 Java 编译器
面向对象的思想(2)
面向对象的思想(2)
73 0
|
缓存 Java
梳理10道经典面向对象的面试题
梳理10道经典面向对象的面试题
427 0
|
编译器 C语言 C++
c++ 对类与对象的基础框架+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
c++ 对类与对象的基础框架+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(二)
|
编译器 C语言 C++
c++ 对类与对象的基础框架+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
c++ 对类与对象的基础框架+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
|
PHP 开发者
面向对象编程思想介绍|学习笔记
快速学习面向对象编程思想介绍
面向对象编程思想介绍|学习笔记
|
存储 人工智能 移动开发
数据结构开篇-做一个有思想的程序员
数据结构开篇-做一个有思想的程序员
841 2
数据结构开篇-做一个有思想的程序员
|
机器学习/深度学习 存储 算法
编程面试的10大算法概念汇总
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:
137 0