多类合作总结
-
类和对象的操作模式
类是数据类型定义
对象是目前操作成员方法,操作成员变量的核心 -
这两组代码在main方法中基本上全部是一个面向对象思想
a. 自定义数据类型,自定义类对象,作为方法参数。
b. 通过类对象来操作代码方式,所有的内容都是和对象相关 -
代码需要阅读,一定要阅读!!!
不要断章取义!!!
. 就是的 -
代码中要什么你给什么
匿名对象概述
Person person = new Person(“骚杰”, 66, ‘男’);
Person 类名
person 对象名
new Person(…) 像内存的堆区申请空间,创建一个Person类对象使用的内存空间
匿名对象
没有名字的对象,没有对象名的对象
格式:
new 构造方法(所需参数)
用途
1. 提高开发效率,隐形眼镜日抛,一次性筷子
匿名对象当前行使用之后,如果没有其他引用数据类型的变量保存其地址,直接销毁
2. 简化代码结构
3. 通过匿名对象直接调用成员方法
4. 使用匿名对象作为方法的参数
以多类合作,匿名对象写一段完全面向对象的程序
写一个汽车类对象,要与轮胎类对象和发动机类对象合作完成
package com.day04.thethird;
// 引擎类,包含型号属性,排量属性
public class Engine {
// 以宝马发动机为例,例如N62:N代表的级别,6代表8缸,2发动机在同等车型先进程度
private String engine;
private int CC;
// 构造无参方法
public Engine() {}
// 构造有参方法
public Engine(String engine, int cC) {
super();
this.engine = engine;
CC = cC;
}
// 获取 或者更改参数
public String getEngine() {
return engine;
}
public void setEngine(String engine) {
this.engine = engine;
}
public int getCC() {
return CC;
}
public void setCC(int cC) {
CC = cC;
}
}
- 写一个轮胎类
package com.day04.thethird;
public class Tyre {
// 创建一个轮胎类,包含轮胎属性:型号,尺寸 ,型号为:225/45 R17,尺寸为:18英寸
private String modelNumber;
private int size;
// 构造一个无参方法
public Tyre () {}
// 构造有参方法
public Tyre(String modelNumber, int size) {
super();
this.modelNumber = modelNumber;
this.size = size;
}
public String getModelNumber() {
return modelNumber;
}
public void setModelNumber(String modelNumber) {
this.modelNumber = modelNumber;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
}
然后写一个车类合作完成车类对象
package com.day04.thethird;
public class Vehicle {
// 汽车类 以发动机,轮胎为参数
private Engine engine;
private Tyre tyre;
// 养成好习惯先构造一个无参方法
public Vehicle() {}
// 这里构造一个有参方法
public Vehicle(Engine engine, Tyre tyre) {
super();
this.engine = engine;
this.tyre = tyre;
}
public Engine getEngine() {
return engine;
}
public void setEngine(Engine engine) {
this.engine = engine;
}
public Tyre getTyre() {
return tyre;
}
public void setTyre(Tyre tyre) {
this.tyre = tyre;
}
// 这里是一个输出发动机属性和轮胎属性的方法
public void sout() {
System.out.println("这是" + engine.getEngine() + "的发动机" + engine.getCC() + "的排量");
System.out.println("轮胎的型号是" + tyre.getModelNumber() + tyre.getSize() + "的尺寸");
}
}
最后通过主方法演示这一段【完全面向对象】的程序
package com.day04.thethird;
public class Demo1 {
public static void main(String[] args) {
/*
* 【匿名对象】
* 在多类合作中,可能需要创建很多的对象,如果都是传统的方式创建,代码非常冗余!
* 这时候如果选择匿名对象将会大量减少冗余,使代码阅读性更高
*/
/*
* 这是一段完全【面向对象】的程序
* 通过调用类对象的功能和属性来完成这一段代码
*/
/*
* 这是一个由汽车发动机,汽车轮胎类对象组成的车对象
*/
// Engine engine = new Engine("N62", 3000);
// Tyre tyre = new Tyre("225/45 R17", 18);
Vehicle vehicle = new Vehicle(new Engine("N62", 3000), new Tyre("225/45 R17", 18));
vehicle.sout();
// 更换车类中发动机engine 更换后是一个N78 2000排量的发动机
vehicle.setEngine(new Engine("N78", 2000));
vehicle.sout();
}
}
在这3段代码中,gat的意思是读取的意思,获取当前成员方法的内容,set是设置的意思,修改当前方法的内容,
明天继续面向对象!!!
本文深入讲解面向对象编程的核心概念,包括类与对象的定义、操作及合作,通过具体实例演示了如何利用匿名对象和多类合作实现面向对象的程序设计。
4万+

被折叠的 条评论
为什么被折叠?



