本文主要是介绍第三周-自主学习任务-面向对象基础与类的识别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 学习目标
- 学习任务
- 问题列表
- static问题
- 购物车案例中的类、方法、属性
- 项目管理代码
- 阿里巴巴Java开发手册编程规范
学习目标
1.重点:掌握pivate、public关键字的用途及其与setter/getter模式和封装性之间的关系。
2.理解static属性与static方法的用途。
3.掌握使用初始化块初始类的方法。掌握初始化块与静态初始化块的区别。
4.掌握使用我package管理类。
5.重点:学会识别问题中的类并定义解决问题所需要的类。
6.初步了解Java编程规范。
学习任务
1.观看Java线上课程
- 视频:3.3-3.7.
- 重点观看:3.3、3.4、3.7(面向对象-类的设计).
2.重点:结合视频与预习课件以博客或者帖子的形式完成如下"问题列表",需提交。本次作业基础分1分,最高3分。
3.尝试完成PTA题集:
- 编程题:3.1 构造方法与toString,3.2 构造方法与初始化块,3.3 形状。提前完成这3题的同学,实验课上检查后加分。
- 程序填空题:b3.1
- 阅读:阿里巴巴Java开发手册 终极版(1.3.0)》中的1.1-1.4.
问题列表
static问题
1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
- 当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static
- 这个静态成员被该类所有的对象所共享
- 用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用
- 如果一个成员没用static关键字,那么这个成员是属于对象的,每一个对象都会有一个自己的这个成员
- 不应该,因为一个学校的学生,姓名属性是不同的
购物车案例中的类、方法、属性
2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
- 首先要了解系统,用一段文字描述即将要设计的系统及其功能,然后将其中的名词和动词找出来
- 对于名词,可以考虑是否创建相应的类,或者是某个类的属性
- 对于动词,分析是否可以当作方法,可以当作哪一个类中的方法
- 对于购物车来说,具有名称,价格等属性,具有把商品放入购物车,增加或减少商品数量等方法,可分为购物车,商品条目等分析
项目管理代码
3.一个项目中有很多类。项目中要怎么管理这些代码呢?
- 使用包管理类,包机制可以将一组相关的类,接口组织起来,提供访问控制,命名空间管理功能
- Java类库中有很多包,不同的包包含不同功能的类
- 在不同的包中放置不同的类,把不同的类放入相对应的包中
阿里巴巴Java开发手册编程规范
4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约。
命名规范
- 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束
- 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式,要求使用正确的英文拼写和语法
- 类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO
- 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式
- 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
- 抽象类命名使用 Abstract 或 Base 开头
- 异常类命名使用 Exception 结尾;
- 测试类命名以它要测试的类的名称开始,以 Test 结尾
- 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
- 接口类中的方法和属性不要加任何修饰符号(public 也不要加),保持代码的简洁性,并加上有效的 Javadoc 注释
代码格式
- 大括号的使用约定
- 如果是大括号内为空,则简洁地写成{}即可,不需要换行
- 如果是非空代码块则:
- 左大括号前不换行。
- 左大括号后换行。
- 右大括号前换行。
- 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
- 左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格
- if/for/while/switch/do 等保留字与括号之间都必须加空格
- 任何二目、三目运算符的左右两边都需要加一个空格
- 换行原则
- 单行字符数限制不超过 120 个,超出需要换行
- 第二行相对第一行缩进 4 个空格,从第三行开始,不再继续缩进
- 运算符与下文一起换行。
- 方法调用的点符号与下文一起换行。
- 方法调用时,多个参数,需要换行时,在逗号后进行。
- 在括号前不要换行
- 方法参数在定义和传入时,多个参数逗号后边必须加空格
OOP规范
- 避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可
- 所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较
- 定义 DO/DTO/VO 等 POJO 类时,不要设定任何属性默认值
- 循环体内,字符串的连接方式,使用 StringBuilder 的 append 方法进行扩展
这篇关于第三周-自主学习任务-面向对象基础与类的识别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!