java 第03周 预习、实验与作业:面向对象入门2与类的识别

1.课前问题列表

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

一般情况,我们使用static修饰方法,使用static修饰的方法具有以下特征
1)不需要访问对象的状态或属性
2)是通用操作,而不直接与实例相关联
3)不需要在创建对象就可以调用

不使用static的方法往往具有
1)依赖于实例,可能需要修改或查找实例变量
2)需要与其他对象进行交互
3)需要创建具体对象才能使用

据具体需求来决定是否需要在 getName 方法中使用static,如果该方法不依赖于对具体对象变量的引用或修改,并且可以在创建对象之前调用,那么可以使用 static 关键字进行声明。否则,不使用 static 关键字。

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

找问题描述中的类、方法、属性:

1.名词分析法:通过仔细阅读问题描述,识别出潜在的类名。

2.动词分析法:通过问题描述中的动词,找出潜在的方法名。

3.概念抽象化:将问题描述中的具体场景抽象为通用的概念,并将这些概念映射到类、方法和属性上。

4.问题分析与筛选:根据问题的功能需求,分析每个类的属性和方法,筛选出符合问题需求的类、方法和属性


5.封装与抽象:根据需求,将属性和方法封装到合适的类中,并进行适当的抽象以提高可复用性和灵活性。

判定类、方法、属性:

1.属性的关联:属性通常属于具体的实体或对象,并与这些实体或对象有所有权或关联关系。通过分析属性所属的实体或对象,可以确定属性所属的类。

2.方法的行为和操作:方法通常表示对象执行的行为和操作。通过分析方法所涉及的对象和行为,可以确定方法所属的类。

3.封装:根据面向对象编程的封装原则,将属性和方法封装到合适的类中。一个类应该包含相关的属性和对这些属性进行操作的方法。

4.单一职责原则:每个类应该只负责一个明确的功能领域或者职责,并且要尽量保持类的简洁和高内聚性。根据这个原则,可以判断方法和属性与哪个类最相关,并将其放置到相应的类中。

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

如何避免类同名:

1.采用一致的命名规范:定义一套明确的命名规范,包括类名、方法名、属性名等,以确保命名的唯一性。可以使用特定的前缀或后缀来标识你的代码,采用驼峰命名法、参考《阿里巴巴Java开发手册》等。

2.使用模块化的设计:将代码按照功能或领域划分为模块,每个模块内部维护独立的类命名空间。这样可以将类的作用域限定在单个模块内,减少与其他模块的类冲突。

3.使用命名空间或模块别名:一些编程语言提供了命名空间或模块别名的机制,可以避免类名冲突。通过引入别名,可以明确指定使用哪个命名空间或模块中的类,从而避免同名类的冲突。

4.统一的命名管理:在多人协作的项目中,需要建立统一的代码管理流程和规范,确保团队成员遵守命名规范,并及时沟通、解决命名冲突的问题。

如何管理代码:

1.代码结构与组织:根据功能或领域将代码分为模块或包,并按照约定的规则组织代码结构。模块之间的依赖关系应该尽可能清晰,便于维护和理解。

2.文档与注释:养成良好的文档和注释,可以帮助他人理解代码的用途和结构。提供清晰的接口定义和示例用法,并记录代码变更的时间、背景和原因。

3.测试与自动化:编写测试用例并进行自动化测试,确保代码的质量和稳定性。这样可以快速发现潜在错误,并降低后续修改的风险。

1.4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。

1.变量命名:

避免使用单个字母作为变量名,使用具有描述性的变量名,增加可读性。
驼峰命名法:变量名应该以小写字母开头,并使用驼峰命名法(camelCase)。
类静态变量命名时,应加上类名作为前缀。

2.类命名:


类名使用大驼峰命名法(首字母大写)。
类名通常应该是名词或名词短语,避免使用动词
对于一些常用的类名可以使用约定俗成的简称,如使用 "DTO" 表示数据传输对象。

3.方法命名:


方法名使用小驼峰命名法(首字母小写)。
方法名应该是动词或动词短语,表示方法的操作。
构造函数使用类名并且首字母大写,避免使用与字段名称相同的参数名。

4.常量命名:


常量名全部大写,使用下划线分隔单词。
常量应该尽量描述清楚其含义,并避免使用不明确的缩写。
常量可以根据类型进行分类,并使用相应的前缀进行命名。

5.包命名:


包名全部小写,使用点分隔单词。
包名应该具有唯一性,使用倒置的公司域名作为包名的前缀,如 "com.example.myproject"。
避免使用与Java API类库冲突的包名。

6.代码格式:


使用4个空格缩进,避免使用制表符。
类和方法的左大括号 "{ " 应该放在新行的末尾,右大括号 " } " 应该单独一行。
操作符应该与操作数之间有一个空格。

7.OOP规约:


避免定义不必要的全局变量,应该尽量将变量的作用域限制在需要的范围内。
避免使用过长的参数列表,超过4个参数时应考虑使用封装成对象传递参数的方式。
避免使用嵌套过多的条件判断语句,超过3层时应该考虑重构代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值