java 使用面向对象开发设计产品管理程序代码

简介: java 使用面向对象开发设计产品管理程序代码

需求是这个样子的:

代码如下

任务1代码:
package com.hidata.hiops.paas.demo;
import java.util.ArrayList;
import java.util.List;
/**
 * 任务一、产品基本信息
 */
public class Product {
    private static List<Product> productList = new ArrayList<>();
    private String name;
    private String price;
    private String profile;
    private String score;
    static {
        productList.add(new Product("xiaomi8","2599","well-known","100"));
        productList.add(new Product("xiaomi9","3599","well-known","90"));
        productList.add(new Product("xiaomi10","5599","well-known","99"));
        productList.add(new Product("xiaomi12","7599","well-known","100"));
    }
    public Product() {}
    public Product(String name, String price, String profile, String score) {
        this.name = name;
        this.price = price;
        this.profile = profile;
        this.score = score;
    }
    public String getName() {
        return name;
    }
    public static void getProductInfo(String typeName){
        List<Product> list = Product.productList;
        list.stream().filter(obj -> obj.getName().equals(typeName)).forEach(e ->System.out.println(e));
    }
    @Override
    public String toString() {
        return "Product{" +
                "name='" + name + '\'' +
                ", price='" + price + '\'' +
                ", profile='" + profile + '\'' +
                ", score='" + score + '\'' +
                '}';
    }
    public static void main(String[] args) {
        Product.getProductInfo("xiaomi8");
        Product.getProductInfo("xiaomi9");
    }
}
运行结果
Product{name='xiaomi8', price='2599', profile='well-known', score='100'}
Product{name='xiaomi9', price='3599', profile='well-known', score='90'}
Process finished with exit code 0
任务2 代码:
package com.hidata.hiops.paas.demo;
import com.ruoyi.framework.web.domain.server.Sys;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * 任务二、分类下的产品信息
 */
public class ProductCategory {
    private String categoryName;//产品分类名称
    private List<ProductItme> productList;//产品列表
    private static List<ProductCategory> categoryList = new ArrayList<>();
    static {
        List<ProductItme> productList = new ArrayList<>();
        productList.add(new ProductItme("XIAOMI"));
        productList.add(new ProductItme("HUAWEI"));
        productList.add(new ProductItme("OPPO"));
        categoryList.add(new ProductCategory("tel",productList));
        List<ProductItme> productList2 = new ArrayList<>();
        productList2.add(new ProductItme("HP"));
        productList2.add(new ProductItme("Lenovo"));
        productList2.add(new ProductItme("DELL"));
        categoryList.add(new ProductCategory("notebook",productList2));
    }
    public ProductCategory(String categoryName, List<ProductItme> productList) {
        this.categoryName = categoryName;
        this.productList = productList;
    }
    public String getCategoryName() {
        return categoryName;
    }
    @Override
    public String toString() {
        return "ProductCategory{" +
                "分类名称='" + categoryName + '\'' +
                ", productList=" + productList +
                '}';
    }
    public static void getProductItmeList(String categoryName) {
        List<ProductCategory> categories = ProductCategory.categoryList;
        categories.stream().filter(obj -> obj.getCategoryName().equals(categoryName)).forEach(e -> System.out.println(e));
    }
    public static void main(String[] args) {
        ProductCategory.getProductItmeList("notebook");
        System.out.println("================================================");
        ProductCategory.getProductItmeList("tel");
    }
}
class ProductItme{
    private String pName;
    public ProductItme(String pName) {
        this.pName = pName;
    }
    @Override
    public String toString() {
        return "产品{" +
                "pName='" + pName + '\'' +
                '}';
    }
}
运行结果
ProductCategory{分类名称='notebook', productList=[产品{pName='HP'}, 产品{pName='Lenovo'}, 产品{pName='DELL'}]}
================================================
ProductCategory{分类名称='tel', productList=[产品{pName='XIAOMI'}, 产品{pName='HUAWEI'}, 产品{pName='OPPO'}]}
Process finished with exit code 0
任务3 代码:
package com.hidata.hiops.paas.demo;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
 * 任务三:分类搜索
 */
public class ProductCategorySearch {
    private String categoryName;//产品分类
    private static List<ProductCategorySearch> categoryList = new ArrayList<>();
    static {
        categoryList.add(new ProductCategorySearch("A"));
        categoryList.add(new ProductCategorySearch("B"));
        categoryList.add(new ProductCategorySearch("X"));
        categoryList.add(new ProductCategorySearch("Y"));
        categoryList.add(new ProductCategorySearch("Z"));
    }
    public ProductCategorySearch(String categoryName) {
        this.categoryName = categoryName;
    }
    public String getCategoryName() {
        return categoryName;
    }
    public static void getProductItmeList(String categoryName) {
        List<ProductCategorySearch> newProductCategorys = new ArrayList<>();
        List<ProductCategorySearch> categories = ProductCategorySearch.categoryList;
        String [] arr = categoryName.split("\\s+");
        for (String name : arr) {
            for (ProductCategorySearch category : categories) {
                if(name.equals(category.getCategoryName())){
                    newProductCategorys.add(category);
                }
            }
        }
        reverse(newProductCategorys);
    }
    private static void reverse(List<ProductCategorySearch> newProductCategorys) {
        Collections.reverse(newProductCategorys);
        System.out.println(newProductCategorys);
    }
    @Override
    public String toString() {
        return "ProductCategorySearch{" +
                "categoryName='" + categoryName + '\'' +
                '}';
    }
    public static void main(String[] args) {
        ProductCategorySearch.getProductItmeList("B A");
        System.out.println("================================================");
        ProductCategorySearch.getProductItmeList("X Y Z");
        System.out.println("================================================");
        ProductCategorySearch.getProductItmeList("A B XY");
    }
}
运行结果
[ProductCategorySearch{categoryName='A'}, ProductCategorySearch{categoryName='B'}]
================================================
[ProductCategorySearch{categoryName='Z'}, ProductCategorySearch{categoryName='Y'}, ProductCategorySearch{categoryName='X'}]
================================================
[ProductCategorySearch{categoryName='B'}, ProductCategorySearch{categoryName='A'}]
Process finished with exit code 0


相关文章
|
1月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
232 0
|
1月前
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
162 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
2月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
本文深入探讨了Java大数据技术在智能金融理财产品风险评估与个性化配置中的关键应用。通过高效的数据采集、存储与分析,Java大数据技术助力金融机构实现精准风险评估与个性化推荐,提升投资收益并降低风险。
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
|
2月前
|
并行计算 Java API
Java List 集合结合 Java 17 新特性与现代开发实践的深度解析及实战指南 Java List 集合
本文深入解析Java 17中List集合的现代用法,结合函数式编程、Stream API、密封类、模式匹配等新特性,通过实操案例讲解数据处理、并行计算、响应式编程等场景下的高级应用,帮助开发者提升集合操作效率与代码质量。
128 1
|
2月前
|
安全 Java API
Java 17 及以上版本核心特性在现代开发实践中的深度应用与高效实践方法 Java 开发实践
本项目以“学生成绩管理系统”为例,深入实践Java 17+核心特性与现代开发技术。采用Spring Boot 3.1、WebFlux、R2DBC等构建响应式应用,结合Record类、模式匹配、Stream优化等新特性提升代码质量。涵盖容器化部署(Docker)、自动化测试、性能优化及安全加固,全面展示Java最新技术在实际项目中的应用,助力开发者掌握现代化Java开发方法。
118 1
|
2月前
|
IDE Java API
Java 17 新特性与微服务开发的实操指南
本内容涵盖Java 11至Java 17最新特性实战,包括var关键字、字符串增强、模块化系统、Stream API、异步编程、密封类等,并提供图书管理系统实战项目,帮助开发者掌握现代Java开发技巧与工具。
144 1
|
1月前
|
移动开发 Cloud Native 安全
Java:跨平台之魂,企业级开发的磐石
Java:跨平台之魂,企业级开发的磐石
|
2月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
122 0
|
2月前
|
存储 Java 测试技术
Java基础 - 面向对象
面向对象编程是Java的核心,包含封装、继承、多态三大特性。封装隐藏实现细节,提升代码可维护性与安全性;继承实现类间IS-A关系,支持代码复用;多态通过继承、重写与向上转型,实现运行时方法动态绑定,提升系统扩展性与灵活性。