首页 > 编程语言 >【学习总结|DAY012】Javabean书写练习

【学习总结|DAY012】Javabean书写练习

时间:2024-12-05 21:00:15浏览次数:10  
标签:phone1 PhoneOpt phone2 练习 phone Phone DAY012 public Javabean

一、主要代码

public class Phone {
    public Phone() {
    }

    public Phone(String brand, int price, String color) {
        this.brand = brand;
        this.price = price;
        this.color = color;
    }


    String brand;
    int price;
    String color;

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.price = price;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }
}
public class PhoneOpt {

    private Phone phone;

    public PhoneOpt(Phone phone) {
        this.phone = phone;
    }
    public void call(){
        System.out.println("正在使用价格为"+phone.getPrice()+"元"+phone.getColor()+"的"+phone.getBrand()+"手机打电话");
    }
    public void sendMessag(){
        System.out.println("正在使用价格为"+phone.getPrice()+"元"+phone.getColor()+"的"+phone.getBrand()+"手机发短信");
    }
}
public class demoPhone {
    public static void main(String[] args) {
        Phone phone1 = new Phone();
        phone1.setBrand("小米");
        phone1.setColor("黑色");
        phone1.setPrice(3999);
        PhoneOpt phoneOpt1 = new PhoneOpt(phone1);
        phoneOpt1.call();

        Phone phone2 = new Phone();
        phone2.setBrand("华为");
        phone2.setColor("中国红");
        phone2.setPrice(8999);
        PhoneOpt phoneOpt2 = new PhoneOpt(phone2);
        phoneOpt2.sendMessag();
    }
}

二、代码解释

该代码定义了一个 demoPhone 类,其中包含一个 main 方法,作为程序的入口。在 main 方法中,我们进行了一些操作,主要是创建手机对象及其相关操作。

  1. 创建手机对象:

    Phone phone1 = new Phone();
    phone1.setBrand("小米");
    phone1.setColor("黑色");
    phone1.setPrice(3999);
    

    这里首先创建了一个 Phone 类型的对象 phone1,然后通过调用 setBrandsetColor 和 setPrice 方法设置手机的品牌、颜色和价格。

  2. 创建电话操作对象:

    PhoneOpt phoneOpt1 = new PhoneOpt(phone1);
    phoneOpt1.call();
    

    接下来,创建一个 PhoneOpt 类型的对象 phoneOpt1,并将 phone1 作为参数传入构造函数。随后调用 call 方法来执行打电话的操作。

  3. 创建第二个手机对象:

    Phone phone2 = new Phone();
    phone2.setBrand("华为");
    phone2.setColor("中国红");
    phone2.setPrice(8999);
    

    这里我创建了第二个 Phone 对象 phone2,同样设置了它的品牌、颜色和价格。

  4. 第二个电话操作对象:

    PhoneOpt phoneOpt2 = new PhoneOpt(phone2);
    phoneOpt2.sendMessag();
    

    最后,我创建了另一个 PhoneOpt 对象 phoneOpt2,并调用 sendMessag 方法来发送短信。

 三、效果展示

结论

通过这个简单的示例,我们了解了如何运用面向对象特性来设计和实现一个手机操作的程序。Java 的面向对象编程不仅使得代码更具可读性和可维护性,同时也方便了我们对现实世界事物的建模。

希望本文对于学习 Java 面向对象编程的朋友们有所帮助!

标签:phone1,PhoneOpt,phone2,练习,phone,Phone,DAY012,public,Javabean
From: https://blog.csdn.net/Fultter/article/details/144275803

相关文章

  • C++算法练习-day62——491.非递减子序列
    题目来源:.-力扣(LeetCode)题目思路分析这个问题要求找出数组 nums 中的所有非严格递增子序列,其中每个子序列至少包含两个元素。非严格递增子序列意味着子序列中的元素可以相等,但不允许递减。为了解决这个问题,可以使用回溯法。回溯法是一种通过探索所有可能的候选解来找出......
  • C++算法练习-day61——90.子集2
    题目来源:.-力扣(LeetCode)题目思路分析题目要求找出给定数组的所有子集(幂集),但数组可能包含重复元素,要求结果中的子集是唯一的(不包含重复的子集)。为了解决这个问题,我们可以先对数组进行排序,然后在回溯过程中跳过重复的元素,以确保生成的每个子集都是唯一的。代码:#include<v......
  • C++算法练习-day60——78.子集问题
    题目来源:.-力扣(LeetCode)题目思路分析题目要求找出给定数组的所有子集(幂集)。子集是指原数组中任意元素组合形成的数组,包括空集和原数组本身。这个问题可以通过回溯算法(Backtracking)来解决。回溯算法是一种通过探索所有可能的候选解来找出所有解的算法。对于子集问题,我们可以......
  • 网络安全运行与维护 加固练习题
    1.提交用户密码的最小长度要求。输入代码:cat/etc/pam.d/common-password提交答案:flag{20}2.提交iptables配置以允许10.0.0.0/24网段访问22端口的命令。输入代码:iptables-AINPUT-ptcp-s10.0.0.0/24--dport22-jACCEPT提交答案: flag{iptables-A......
  • 【Scala】练习题(成绩计算)
    读取姓名,语文,数学,英语张伟,87,92,88李娜,90,85,95王强,78,90,82赵敏,92,88,91孙涛,85,82,89周梅,88,87,93吴刚,80,85,86郑洁,91,89,94陈晨,83,84,88林峰,86,91,87这个文件,按行读入,计算每个同学的总分和平均分,每个科目的平均分,总分的前三名,单科的前三名,把结果写入文件importjava.io.PrintWrite......
  • 每日算法练习
     小伙伴们大家好,好久没更新了,实在是没有空,不过从今天开始恢复更新了,今天给大家带来几道算法题目。题目一1.算法思想 这道题目是一道博弈题目,我们这样分析:对于小紫来说,自己交换的时机肯定是小红拿到的数越大越好,自己拿个小的跟她交换就行。 因此存在如下情况:如果小红......
  • javabean重写equals和hashcode方法的作用
    Javabean重写equals()方法主要是为了实现自定义的对象比较。这个方法在Java集合框架和双列集合中扮演了关键角色;HashMap和HashSet底层原理是哈希表结构,依赖hashcode方法和equals方法保证键的唯一没有重写equals和hashcode方法:实体类比较的是地址值,map集合是根据地址值判断......
  • C语言——习题练习(一)
    习题:        现在有两种面值的邮票,一种为8角,一种为6角。你要付n角的邮资(不能多付也不能少付),请给出邮票张数最少的方案。如果没有正好的方案则输出-1。输入格式:        只有一行,为若干个整数(至少有两个)。这些整数最后一个整数一定是-1(输入结束标志,无需处理),......
  • [题目记录]一本通高手练习-软件开发
    题意有两个软件需要开发,每个软件分为\(m\)部分,把这总共\(2m\)个任务分配给\(n\)个人,每个人完成软件1,软件2的一部分所消耗的时间分别为\(a_i,b_i\),这\(n\)个人同时工作,完成的时间就是这\(n\)个人最慢的一个人完成他的所有任务的时间.通过分配任务......
  • rust学习十二、一个I/O程序练习
    本文内容,基本同原书本,只是稍作了一些改动:可以输入--help展示用法如果文件超过1MB,则会采用逐行查找的方法,避免内存不足整个程序包含个文件:main.rs,lib.rs一、代码闲话少叙,直接上代码。main.rs/***完全模仿书本的例子**运行示例*cargorun宋E:\learning......