zoukankan      html  css  js  c++  java
  • 第三周-自主学习任务-面向对象基础与类的识别

    学习目标

    1.重点:掌握pivate、public关键字的用途及其与setter/getter模式和封装性之间的关系。
    2.理解static属性与static方法的用途。
    3.掌握使用初始化块初始类的方法。掌握初始化块与静态初始化块的区别。
    4.掌握使用我package管理类。
    5.重点:学会识别问题中的类并定义解决问题所需要的类。
    6.初步了解Java编程规范。

    学习任务

    观看
    1.Java线上课程
    http://www.xueyinonline.com/detail/218804544
    2.视频:3.3-3.7.
    重点观看:3.3、3.4、3.7(面向对象-类的设计).
    重点:结合视频与预习课件以博客或者帖子的形式完成如下"问题列表",需提交。本次作业基础分1分,最高3分。
    3.尝试完成PTA题集:
    编程题:3.1 构造方法与toString,3.2 构造方法与初始化块,3.3 形状。提前完成这3题的同学,实验课上检查后加分。
    程序填空题:b3.1
    4.阅读:阿里巴巴Java开发手册 终极版(1.3.0)》中的1.1-1.4.

    问题列表

    1.什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?
    当多个对象之间共用某种属性,该属性即可用static进行修饰。而static修饰的方法不需要建立新对象即可直接调用。
    static修饰的方法只能访问静态属性,并且可直接被调用。不用static修饰的方法往往是对非静态属性的操作。
    不可以,Student的name往往是非静态属性与对象绑定,static无法访问返回。
    2.购物车案例中,使用了什么方法将问题描述中的类、方法、属性找出来?方法与属性到底属于哪个类,要怎么判定呢?
    将一系列动作分解为名词和动词,动词对应方法,名词对应类或者属性。
    将某些动作的操作内容相近的动作可作为一个类,该动作伴随的名词可归到同一类中。
    例如:购买东西的过程,要将商品加入购物车,之后将所有商品结账。这时,可将加入、结账作为动作加入同一类,所有商品作为另一类,购物车可单独一类。
    3.一个项目中有很多类。项目中要怎么管理这些代码呢?
    可新建多个包package,将相关的类放在同一包中,进行空间、访问控制管理。
    4.阅读《阿里巴巴Java开发手册 终极版(1.3.0)》,写出至少7条Java编程规范。应包含如下几个方面:
    变量命名、类命名、方法命名、常量命名、包命名、代码格式、OOP规约

    • 变量命名:代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束,使用 lowerCamelCase 风格,必须遵从驼峰形式,首单词小写,后单词大写
      正例: localValue / getHttpMessage() / inputUserId
    • 类命名:名使用 UpperCamelCase风格,必须遵从驼峰形式,全部单词大写。
      正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
      反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion
    • 方法命名:使用 lowerCamelCase 风格,必须遵从驼峰形式,首单词小写,后单词大写
      正例: localValue / getHttpMessage() / inputUserId
    • 常量命名:常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
      正例:MAX_STOCK_COUNT
      反例:MAX_COUNT
    • 包命名:包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式。
    • 代码格式:
      <1>大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:
      1) 左大括号前不换行。
      2) 左大括号后换行。
      3) 右大括号前换行。
      4) 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
      <2>if/for/while/switch/do 等保留字与括号之间都必须加空格
      <3>方法参数在定义和传入时,多个参数逗号后边必须加空格。
      正例:下例中实参的"a",后边必须要有一个空格。
      method("a", "b", "c");
      <4>单行字符数限制不超过 120 个,超出需要换行。
    • OOP规约:
      <1>所有的覆写方法,必须加@Override 注解。
      <2>相同参数类型,相同业务含义,才可以使用 Java 的可变参数,避免使用 Object。
      <3>Object 的 equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用equals。
      正例:"test".equals(object);
      反例:object.equals("test");
      <4>所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。
  • 相关阅读:
    发球
    Java学习笔记
    驼峰式命名法
    公式编辑测试
    Python3.5 在Ubuntu16.04上无法画图的解决方案
    Ubuntu16.04 安装flash player
    Spring切面通知执行的顺序(Advice Order)
    修改别人写的利用AOP实现日志监控的问题
    传感器系列之4.10 酒精传感器
    传感器系列之4.8光敏传感器
  • 原文地址:https://www.cnblogs.com/960223447a/p/15321574.html
Copyright © 2011-2022 走看看