Java---面向对象

news/2024/9/23 15:32:18/

一.面向对象

1.概念

1.1面向过程 C

 吃饭:动作为核心

 起身--》开门--》大量的逻辑判断

1.2面向对象 C++/Java/Python/Go

 目标:吃饭

 人(忽略)吃饭

站在人类的角度思考问题

2.什么是对象?

Object-->东西(万事万物皆是对象。)

2.1类

类:抽象,一个设计,对象的抽象

对象:具体,类的具体

类 -----> 对象

狗 ---> Dog ---> 抽象的

(两只耳朵,一只尾巴,四条腿,一张嘴,毛发)----特征

(陪伴(动作,行为))----职责 

Class ---> Type

java">public class Dog {//狗的信息int leg = 4;String hair = "金黄色";double price = 666.66;public void run(){System.out.println("我的狗跑的飞快!");}public void accompany(){System.out.println("带来快乐...");}public static void main(String[] args) {Dog myDog = new Dog();myDog.run();myDog.accompany();}
}

3.以冰箱(Fridge)为例

1.名字(Fridge)

2.属性、特征、域(field)、xxx变量

3.方法、函数、动作

3.1Java的注释

*类、方法

java">/****/

*行注释

java">//

*块注释

java">/***/
3.2冰箱的类

属性、方法

3.3执行冰箱操作

升高温度、降低温度工作

3.4异常情况

限制温度

java">import javax.swing.*;//冰箱类
public class Fridge {private String brand;private String color;private double size;private double weight;private double price;private int year;//保修年限private int temperature = 5;//温度private String company;//公司public String getBrand() {return brand;}//给汽车的brand设置品牌public void setBrand(String brand) {this.brand = brand;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public double getSize() {return size;}public void setSize(double size) {this.size = size;}public double getWeight() {return weight;}public void setWeight(double weight) {this.weight = weight;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getYear() {return year;}public void setYear(int year) {this.year = year;}public int getTemperature() {return temperature;}public void setTemperature(int temperature) {this.temperature = temperature;}public String getCompany() {return company;}public void setCompany(String company) {this.company = company;}//冰箱升高的温度方法// n 要升高的温度public void tempUp(int n){if (temperature+n > 20){JOptionPane.showMessageDialog(null,"温度超出冰箱范围,升温失败");}else {temperature += n;}}//冰箱降低的温度方法// n 要降低的温度public void tempDown(int n){if (temperature-n < -20){JOptionPane.showMessageDialog(null,"温度超出冰箱范围,降温失败");}else {temperature -= n;}}//显示当前冰箱的温度public void print(){System.out.println("当前温度:" + temperature);}public static void main(String[] args) {Fridge myFridge = new Fridge();myFridge.setBrand("无敌");System.out.println(myFridge.getBrand());System.out.println("冰箱启动");myFridge.print();while (true){String opt = JOptionPane.showInputDialog("请选择操作(1-升温,2-降温)");//String s = null;int n = 0;if ("1".equals(opt)) {//升温操作//String s = JOptionPane.showInputDialog("请输入要升高的度数");n = Integer.parseInt(JOptionPane.showInputDialog("请输入要升高的度数"));myFridge.tempUp(n);}else if ("2".equals(opt)){//降温操作//s = JOptionPane.showInputDialog("请输入要降低的度数");n = Integer.parseInt(JOptionPane.showInputDialog("请输入要降低的度数"));myFridge.tempDown(n);}myFridge.print();//判断是否退出操作int c = JOptionPane.showConfirmDialog(null,"是否继续进行");if (0 != c){JOptionPane.showMessageDialog(null,"操作完成,谢谢使用");break;}}}
}

4.面向对象描述类

4.1文字描述

4.2代码描述

4.3类图描述

5.访问控制符

5.1 public---公开类型

任何代码都能访问

5.2 private---私有的

java">private String brand;private String color;private double size;private double weight;private double price;private int year;//保修年限private int temperature = 5;//温度private String company;//公司

只有在本class内可以访问

6.属性操作

java">    public String getBrand() {return brand;}//给汽车的brand设置品牌public void setBrand(String brand) {this.brand = brand;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public double getSize() {return size;}public void setSize(double size) {this.size = size;}public double getWeight() {return weight;}public void setWeight(double weight) {this.weight = weight;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getYear() {return year;}public void setYear(int year) {this.year = year;}public int getTemperature() {return temperature;}public void setTemperature(int temperature) {this.temperature = temperature;}public String getCompany() {return company;}public void setCompany(String company) {this.company = company;}

setter / getter方式

通过setXXX(参数)存储

通过getXXX()取出数据

7.this关键字

java"> //给汽车的brand设置品牌public void setBrand(String brand) {this.brand = brand;}

this ----- 当前对象

this.brand = brand; //当前对象的属性brand,值为传入的变量brand的值


http://www.ppmy.cn/news/1515348.html

相关文章

Vue3重置reactive变量造成循环引用导致JSON.stringify语法报错

问题背景 初始化定义变量 const myForm reactive({...}); 给reactive变量整体赋值代码如下 myForm.value Object.assign(myForm, {...}); 报错的代码 JSON.stringify(myForm); 解决方法 整体赋值时去掉前面的 “ myForm.value ”部分&#xff0c;直接调用Object.ass…

Dotnet Core-关于8.0版本中jwt的官方bug

Dotnet Core-关于8.0版本中jwt的官方bug 缘起Bug本体解决方案补充 缘起 自从诞生了互联网&#xff0c;网络安全一直是一个没有硝烟的战场。身份验证的实现已经在历代大佬的带领下更换了很多版本。JWT是目前比较常见的身份验证机制之一。 时间有限&#xff0c;今天就简单的记录…

PyTorch数据子集采样精粹:torch.utils.data.Subset深度解析

标题&#xff1a;PyTorch数据子集采样精粹&#xff1a;torch.utils.data.Subset深度解析 在深度学习项目中&#xff0c;对数据集进行有效的子集采样是常见需求&#xff0c;无论是为了创建训练集和测试集&#xff0c;还是进行K折交叉验证。PyTorch的torch.utils.data.Subset工具…

趣味算法------尾部零的个数(C语言,python双重解法)

目录 题目描述&#xff1a; 解题思路&#xff1a; 具体代码&#xff1a; 注意&#xff1a; 题目描述&#xff1a; 给出数字 n(0<n<1000000)&#xff0c;计算出 n 阶乘尾部零的个数。 输入输出格式 输入格式 一个整数。 输出格式 一个整数。 输入输出样例 输入 11 输…

基于微信小程序靓丽内蒙古APP(源码+定制+辅导)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

springboot admin监控

服务端搭建 maven的依赖&#xff0c;包括服务端和客户端&#xff0c;以及注册到nacos上面 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XML…

8.购物车清单

购物车清单 一、后端1.1创建ShoppingCart类1.2创建CartServlet类 二、前端2.1轻组件引入&#xff0c;函数引入2.2创建getList函数 &#xff0c;获取后端数据 一、后端 1.1创建ShoppingCart类 创建ShoppingCart类封装购物车信息&#xff0c;用来存放从数据库查询出来的数据。 …

数据可视化大屏模板-美化图表

Axure作为一款强大的原型设计软件&#xff0c;不仅擅长构建交互式界面&#xff0c;更在数据可视化方面展现出了非凡的创意与实用性。今天&#xff0c;就让我们一起探索Axure设计的几款精美数据可视化大屏模板&#xff0c;感受数据之美。 立体图表的视觉冲击力 Axure的数据可视…