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

面向对象入门2与类的识别

一、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?

  • static 修饰方法的适用场景

  • 应该用 static 修饰的方法:

  • 方法与对象的状态无关,只依赖传入的参数完成功能(如  Math.sqrt() )。

  • 工具类方法(如  Arrays.sort() )。

  • 工厂方法(创建对象但不依赖实例状态)。

  • 不用 static 修饰的方法:

  • 依赖对象的实例变量(必须先创建对象才能调用)。

  • 方法行为与对象状态紧密相关。

  • Student 的 getName():

  • 不应该用 static,因为每个学生的名字是实例属性,需要针对具体对象调用。

二、购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?

购物车案例的类/方法/属性分析方法

  • 找出类、方法、属性的方法:

1. 先从需求中识别名词 → 可能是类(如  ShoppingCart ,  Product ,  User )。

2. 识别动词 → 可能是方法(如  addProduct ,  removeProduct ,  getTotalPrice )。

3. 名词的特征 → 可能是属性(如  productId ,  name ,  price ,  quantity )。

  • 判定归属:

  • 属性属于哪个类:看这个数据是描述哪个实体的状态。

  • 方法属于哪个类:看这个操作是哪个实体的行为。

例如: addProduct  是购物车的行为 → 放在  ShoppingCart  类中; price  是商品的特征 → 放在  Product  类中。

三、一个项目中有很多类。怎样才能避免你项目中的类与别人编写的类同名呢?项目中类各种各样要怎么管理这些代码呢?举例说明。

避免类名冲突 & 代码管理

  • 避免同名:使用包(package)机制,不同包可以有同名类。
    例如: com.mycompany.user.User  和  com.othercompany.user.User  是两个完全不同的类。

  • 管理代码:

  • 按功能模块划分包(如  com.company.shop.cart ,  com.company.shop.product )。

  • 大型项目可用 Maven/Gradle 做多模块管理。

  • 使用版本控制(Git)管理代码。

  • 举例:

com.company.project.model    // 存放实体类
com.company.project.service  // 存放业务逻辑
com.company.project.dao      // 存放数据访问
com.company.project.util     // 存放工具类

四、 Java编程规范

变量命名

  • 采用驼峰命名法(camelCase),首字母小写。

  • 成员变量、局部变量避免使用  _  或  $  开头。

类命名

  • 采用 Pascal 命名法(PascalCase),首字母大写。

  • 类名应体现业务含义,避免无意义的  Base ,  Util  等泛称。

方法命名

  • 采用驼峰命名法(camelCase)。

  • 方法名应是动词或动词短语(如  getUser ,  calculatePrice )。

常量命名

  • 全部大写,用下划线分隔(UPPER_SNAKE_CASE)。

  • 例如: MAX_COUNT ,  ORDER_STATUS_PAID 。

包命名

  • 全小写,用点分隔,通常是公司域名倒写。

  • 例如: com.alibaba.fastjson 。

代码格式

  • 缩进用 4 个空格,禁止用 Tab。

  • if/for/while  等语句块必须加花括号,即使只有一行。

OOP 规约

  • 避免在构造方法中调用可被重写的方法。

  • 重写方法时,必须加  @Override  注解。

  • 成员变量私有化(private),通过 getter/setter 访问。

http://www.sczhlp.com/news/123312/

相关文章:

  • 202508_天山固网_to
  • 做影视网站被告怎么办建筑设计师工资很高吗
  • 58同城网站建设案例装修123网
  • 网站建设方案书一般由谁做用邮箱地址做网站域名好吗
  • 太平洋建设21局网站做充币提现的网站
  • seo 网站title苏州建站网站
  • 如何形容一个网站做的好住房与城乡建设部网站特色小镇
  • 设计数码产品宣传网站什么平台可以做引流推广
  • 北京网站建设著名公司大鹏教育平面设计官网
  • 长春快速建站模板襄阳网络推广公司
  • 宁波产城生态建设集团网站网站关键词几个
  • 合肥做网站多少钱百度官网
  • 莱州网络建站如何做建议的网站
  • 哪个网站百度收录快界面设计模式
  • 网站建设管理工作交流发言材料修改wordpress发表评论
  • 产品毕业设计作品网站做电影网站多少带宽
  • jmeter分布式压测
  • 免费申请网站永久wordpress d8 4.1
  • 系统官网网站模板下载东莞学网站建设难吗
  • 网站建设完成wordpress媒体管理插件
  • 怎样给公司做免费网站做承兑 汇票一般会用哪些网站
  • 海南网站建设报价方案app排名优化公司
  • 太原营销型网站建设制作珠海多语种网站制作
  • 工程建设标准网官方网站河南建站网站
  • 做网站价格多少零基础学平面设计怎么学
  • 网站原型图怎么做网站设置flash插件
  • 做社区网站怎么做财政局网站建设自查报告
  • 网站开发网站源码唐山seo代理商
  • 建分类信息网站怎样在手机上制作网页
  • 怎么屏蔽 ahref.com 上你不想看到的网站链接(垃圾外链)