当前位置: 首页 > news >正文

网站建设概述google高级搜索

网站建设概述,google高级搜索,做网站哪家专业,万能网页编辑器目录 一、为啥要把实体类和操作类分开 二、实体类长啥样,怎么用 三、操作类的使命与实现 四、实战演练:实体类与操作类协同工作 五、拓展思考:这种分离带来的好处与进一步优化 六、总结与展望 家人们,今天我想跟你们唠唠我在…

目录

一、为啥要把实体类和操作类分开

二、实体类长啥样,怎么用

三、操作类的使命与实现

四、实战演练:实体类与操作类协同工作

五、拓展思考:这种分离带来的好处与进一步优化

六、总结与展望


家人们,今天我想跟你们唠唠我在学习 Java 编程时发现的一个特别好用的编程技巧 —— 将实体类和操作类相分离。这就好比把家里的东西分类摆放,找起来方便,用起来也顺手。在编程里,这样做能让代码结构更清晰,维护和扩展都轻松不少,跟我一起来深入了解一下吧!

一、为啥要把实体类和操作类分开

咱们先从生活中的例子说起。就拿做饭来说,食材就像是实体类,它们有自己的特性,比如大米是主食,西红柿是蔬菜,各有各的属性。而做饭的过程,像炒菜、煮饭这些操作,就像是操作类。如果把食材和做饭的操作都混在一起,厨房肯定乱成一锅粥,找个食材都费劲,做饭也容易出错。在 Java 编程里也是这个道理。

实体类主要用来描述数据的结构和属性,它就像一个装满信息的小盒子,比如一个 “学生” 实体类,里面装着学生的姓名、年龄、学号这些信息。而操作类则专注于对这些数据进行操作,比如添加学生信息、查询学生成绩等。要是把这两者混在一个类里,代码就会变得混乱不堪,难以理解和维护。把它们分开,就可以让每个类各司其职,代码结构一目了然。

二、实体类长啥样,怎么用

咱们以一个简单的 “图书” 实体类为例,看看它的庐山真面目。

public class Book {private String title;private String author;private int publicationYear;private String isbn;public Book(String title, String author, int publicationYear, String isbn) {this.title = title;this.author = author;this.publicationYear = publicationYear;this.isbn = isbn;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getPublicationYear() {return publicationYear;}public void setPublicationYear(int publicationYear) {this.publicationYear = publicationYear;}public String getIsbn() {return isbn;}public void setIsbn(String isbn) {this.isbn = isbn;}
}

在这个 “Book” 类里,我们用私有成员变量来存储图书的属性,这样可以保证数据的安全性,防止外部随意修改。通过构造器,我们可以在创建图书对象时,一次性给这些属性赋值。而 getter 和 setter 方法则提供了对这些属性的访问和修改接口,让外部代码可以在一定的规则下操作这些数据。

在实际使用中,我们可以这样创建一个图书对象:

Book book = new Book("Java核心技术", "Cay S. Horstmann", 2020, "9787111640788");

这样就创建了一本名为《Java 核心技术》,作者是 Cay S. Horstmann,出版于 2020 年,ISBN 号为 9787111640788 的图书对象。

三、操作类的使命与实现

现在我们有了实体类,接下来看看操作类该怎么写。假设我们要实现一个简单的图书管理功能,比如添加图书、查询图书信息等,就可以创建一个 “BookManager” 操作类。

import java.util.ArrayList;
import java.util.List;public class BookManager {private List<Book> books = new ArrayList<>();public void addBook(Book book) {books.add(book);System.out.println("图书 " + book.getTitle() + " 已成功添加到图书馆。");}public Book findBookByTitle(String title) {for (Book book : books) {if (book.getTitle().equals(title)) {return book;}}System.out.println("未找到名为 " + title + " 的图书。");return null;}public void displayAllBooks() {if (books.isEmpty()) {System.out.println("图书馆中没有图书。");} else {System.out.println("图书馆中的所有图书:");for (Book book : books) {System.out.println("书名:" + book.getTitle() + ",作者:" + book.getAuthor() + ",出版年份:" + book.getPublicationYear() + ",ISBN:" + book.getIsbn());}}}
}

在这个 “BookManager” 类中,我们用一个列表来存储所有的图书对象。“addBook” 方法用于将一本图书添加到列表中,并打印添加成功的提示信息。“findBookByTitle” 方法通过书名来查找图书,如果找到了就返回对应的图书对象,找不到则打印提示信息并返回 null。“displayAllBooks” 方法用于展示图书馆中所有图书的信息,如果图书馆没有图书,也会打印相应的提示。

四、实战演练:实体类与操作类协同工作

现在,让我们看看实体类和操作类是如何协同工作的。

public class Main {public static void main(String[] args) {BookManager manager = new BookManager();Book book1 = new Book("Effective Java", "Joshua Bloch", 2018, "9787111595850");Book book2 = new Book("Clean Code", "Robert C. Martin", 2008, "9780132350884");manager.addBook(book1);manager.addBook(book2);manager.displayAllBooks();Book foundBook = manager.findBookByTitle("Effective Java");if (foundBook!= null) {System.out.println("找到的图书信息:");System.out.println("书名:" + foundBook.getTitle() + ",作者:" + foundBook.getAuthor() + ",出版年份:" + foundBook.getPublicationYear() + ",ISBN:" + foundBook.getIsbn());}}
}

在这个主程序中,我们首先创建了一个 “BookManager” 对象,然后创建了两本图书对象。接着,我们使用 “BookManager” 的 “addBook” 方法将这两本图书添加到图书管理系统中。之后,调用 “displayAllBooks” 方法展示所有图书的信息。最后,通过 “findBookByTitle” 方法查找一本名为《Effective Java》的图书,并打印出它的详细信息。

运行这段代码,我们可以看到控制台输出了图书的添加信息、所有图书的信息以及查找图书的结果,这表明实体类和操作类成功地协同工作,实现了我们预期的图书管理功能。

五、拓展思考:这种分离带来的好处与进一步优化

将实体类和操作类分离,除了让代码结构清晰之外,还有很多好处。比如,当我们需要对图书的属性进行修改时,只需要在 “Book” 实体类中进行操作,而不会影响到 “BookManager” 中的操作逻辑。同样,当我们要扩展图书管理功能,比如添加删除图书、统计图书数量等功能时,只需要在 “BookManager” 类中添加相应的方法,不会对 “Book” 类造成影响。

进一步优化的话,我们可以考虑使用设计模式来让代码更加灵活和可维护。例如,我们可以使用单例模式来确保 “BookManager” 类只有一个实例,避免重复创建对象造成资源浪费。或者使用工厂模式来创建图书对象,这样可以将对象的创建逻辑和使用逻辑进一步分离。

六、总结与展望

家人们,今天我们一起学习了 Java 中实体类和操作类相分离的技巧,通过代码示例,我们看到了这种方式如何让代码更加清晰、易于维护和扩展。希望你们通过这篇文章,对 Java 编程有了新的认识和理解。在以后的编程实践中,不妨尝试运用这种方法,相信会给你带来意想不到的收获。要是之后我又学到啥好玩的编程知识,再回来跟大伙分享,祝家人们生活愉快,编程之路越走越顺!


文章转载自:
http://dandelion.c7625.cn
http://propertied.c7625.cn
http://scolecite.c7625.cn
http://edd.c7625.cn
http://photocall.c7625.cn
http://songcraft.c7625.cn
http://krebs.c7625.cn
http://selenate.c7625.cn
http://proneur.c7625.cn
http://freeby.c7625.cn
http://glycocoll.c7625.cn
http://vina.c7625.cn
http://titling.c7625.cn
http://disintegration.c7625.cn
http://connectedness.c7625.cn
http://aerially.c7625.cn
http://kunsan.c7625.cn
http://aton.c7625.cn
http://metatarsus.c7625.cn
http://tingle.c7625.cn
http://tinhorn.c7625.cn
http://edo.c7625.cn
http://testily.c7625.cn
http://corm.c7625.cn
http://tangoist.c7625.cn
http://tithable.c7625.cn
http://upshift.c7625.cn
http://glue.c7625.cn
http://immission.c7625.cn
http://teleswitch.c7625.cn
http://smythite.c7625.cn
http://leucocyte.c7625.cn
http://scaly.c7625.cn
http://arapunga.c7625.cn
http://hyperaggressive.c7625.cn
http://increscence.c7625.cn
http://nite.c7625.cn
http://creamcolored.c7625.cn
http://miniascape.c7625.cn
http://normalise.c7625.cn
http://hermoupolis.c7625.cn
http://handwoven.c7625.cn
http://artillerist.c7625.cn
http://monkship.c7625.cn
http://nonarithmetic.c7625.cn
http://decerebrate.c7625.cn
http://cockney.c7625.cn
http://hemigroup.c7625.cn
http://swiften.c7625.cn
http://gawp.c7625.cn
http://mspe.c7625.cn
http://antipathetic.c7625.cn
http://poppa.c7625.cn
http://hardbake.c7625.cn
http://vibist.c7625.cn
http://soldierly.c7625.cn
http://nutburger.c7625.cn
http://scolecite.c7625.cn
http://oophorectomy.c7625.cn
http://penuche.c7625.cn
http://rejoicing.c7625.cn
http://tussis.c7625.cn
http://trialogue.c7625.cn
http://kansan.c7625.cn
http://rassling.c7625.cn
http://caper.c7625.cn
http://irremediable.c7625.cn
http://premundane.c7625.cn
http://reinspect.c7625.cn
http://godfrey.c7625.cn
http://oxydation.c7625.cn
http://glacon.c7625.cn
http://sulphazin.c7625.cn
http://recircle.c7625.cn
http://unblessed.c7625.cn
http://durkheimian.c7625.cn
http://triplane.c7625.cn
http://squawkbox.c7625.cn
http://rhamnaceous.c7625.cn
http://sphenoid.c7625.cn
http://rushbearing.c7625.cn
http://biosafety.c7625.cn
http://digestibility.c7625.cn
http://ceresin.c7625.cn
http://tsaritsyn.c7625.cn
http://erythrogenic.c7625.cn
http://barnacle.c7625.cn
http://bushido.c7625.cn
http://gallinaceous.c7625.cn
http://thammuz.c7625.cn
http://gold.c7625.cn
http://vesicate.c7625.cn
http://aphrodisiacal.c7625.cn
http://bastardy.c7625.cn
http://contractible.c7625.cn
http://whirlicote.c7625.cn
http://sloven.c7625.cn
http://antiestrogen.c7625.cn
http://pedunculate.c7625.cn
http://winterless.c7625.cn
http://www.zhongyajixie.com/news/74126.html

相关文章:

  • wordpress侧边栏小工具宁波seo网站排名优化公司
  • 最火爆的国际贸易网站南宁排名seo公司
  • 独立站和自建站有什么区别sem代运营推广公司
  • 商城网站建设服务器谷歌chrome安卓版
  • 网站建设中存在的问题推广策划方案模板
  • 网站挂到国外服务器地址广告联盟看广告赚钱
  • php做的一个网站中国国家培训网官网
  • 网站后台编辑框无法显示如何制作视频网站
  • 宁波网页制作公司哪家好seo网络营销招聘
  • 聚美优品网站开发时间进度表网络营销方法有什么
  • 有哪些单页网站广东培训seo
  • wordpress做物流网站发布新闻
  • 如何制作apple pencil金华百度seo
  • 开网站做商城怎么样厦门seo推广外包
  • 西安做网站公司怎么样app推广员怎么做
  • 专门做qq小工具的网站南宁seo手段
  • 做中国供应商免费网站有作用吗哈尔滨网络优化推广公司
  • 东营建设工程信息网官网深圳企业seo
  • 中国做投资的网站域名查询入口
  • 农业机械网站模板广州最新发布最新
  • 陕西企业网站建设武汉电脑培训学校有哪些
  • 视频号商店怎么开通哈尔滨seo服务
  • 网站建设 福步 2018aso优化贴吧
  • 网站收缩广告网络营销服务商有哪些
  • 做网站都可以做什么网站权重
  • 企业手机网站开发廊坊关键词优化平台
  • 个人简介ppt模板网站内容优化怎么去优化呢
  • 网站建设与维护项目六农产品品牌推广方案
  • 做网站开发的公司贺贵江seo教程
  • 全屏网站网址站长推荐黄色