暑假复习篇之类与对象
面向对象:①类与对象②封装③继承④接口
类与对象:
- 概念:类就是类别的意思 用class表示 / 面向对象编程,万物皆可编程,在程序中表示一个事物时,往往因为事物的复杂程度导致编程的代码非常复杂 【基本数据类型,只能实现一个变量用来表示一个数据的情况,当下面这种有多个数据组成的一份数据,使用一个基本数据类型表示时就比较复杂】
比如:一个人、一个用户、一个学生
人:姓名 年龄 性别 体重 身高 等
用户:账号ID 密码 几分 电话 地址 邮箱等
学生:姓名 年龄 班级 学分 学号等
①复合型数据类型创建的变量——叫做对象变量,对象变量中包含了,按照类模版生成的多个基本数据/其他数据
- 什么是对象 对象就是具体的事物、具体存在的。 程序中 对象指代一个事物在计算机中映射的数据体 存在于内存中
- 类与对象的关系
①类就是一个概念性的东西,是一个模版 用于创建对象变量的模版
②对象是一个具体的东西 是代码执行之后 在内存中存在的一份数据体
类与对象的语法:
- 类的定义: 语法: public class 类名{ }
- 命名要求:推荐【阿里巴巴Java开发手册】
①类名/类文件名:首字母大写,多个单词拼接,每个单词首字母大写 -> 驼峰命名法
②方法名/变量名:首字母小写,多个单词拼接,每个首字母大写 -> 小驼峰命名法
③偶尔使用的局部变量:循环中计数等等可以使用字母 或者小写或者缩写
④不要使用拼音,使用单词。
- 一个类中需要定义什么内容,能变成一个可以符合面向对象编程的复合型数据类型
- 类就是复合型数据类型,如何规划一个类别?
类别的来源——共性
通过分析事物之间是否具有相同的/相似的 属性 特征 行为 功能…… 来划分类别
所以我们定义类时,也需要找到 这个类别对应事物都有哪些数据 特征 行为 功能等
然后使用代码将这些内容定义到类中,实现复合型数据类型的组成
-
学生管理系统
- 创建对象的格式: 类型 对象变量名 = new 类名();
①学生可以注册信息
②可以查看自己的信息
③可以修改自己的信息
④可以选课
⑤可以在线学习
⑥可以在线考试
- 首先需要知道系统重应该保存每个学生的哪些信息,需要哪些信息来完成所有 功能 信息: 姓名 学号 学分 年龄 班级 专业 密码 课程表 功能:登录 查信息 修改信息 选课 学习 考试
- 所有一个类的内容包含
①属性:用来表示这个类别对应的事物应该有什么数据信息 通常在代码使用变量来定义
格式:属性的数据类型 属性数据变量名;
String name; int age;
②方法:用来表示这个类别具备的行为/功能,一对象为主语的行为,通常使用方法(函数,一段代码的结构)来表示
格式:public 返回值类型 方法名(参数){ 方法体 }
- 返回值:方法结构的一部分,具备一定的功能性 用于帮助程序更好的完成一些逻辑
- 用于实现在调用方法之后,获得这个方法得到的结果。
- 定义方法时就需要考虑如何设计返回值。思考这个方法需要返回的结果是什么类型,从而定义方法设定返回值类型。
- 如果这个方法不需要返回值,返回值类型可以设定为void
- 一单设定了具体的返回值类型,在方法任何有可能结束运行的位置 都需要使用return返回响应返回值类型的结果
- 在调用方法的位置,可以在方法前面可以创建一个队形返回值类型的变量,来接收方法先执行完成返回的结果
- Math 工具类 这个类中所有的方法比较特殊,是静态方法,可以使用类名调用 Math.min是两数比较得最小值 Math.max是两数比较得最大值
- 参数:方法结构的一部分,相当于方法的局部变量
- 在定义方法时,在不知道一些具体的数据时,可以使用参数变量来替代,为了完成代码的逻辑编写
- 在调用方法时,需要根据定义的参数类型,向方法的括号写上对应的变数据/或者带有数据的变量
- 格式:
①无参数:空着不写,调用方法时,方法名后面括号也空着
②有参数:
单个参数:(数据类型 数据变量名)在调用时给的参数数据只要符合参数类型就可以
多个参数:(参数数据类型 参数变量名2,数据类型 参数名1)每个参数名必须不一致,传入参数时要注意顺序
public class Student {//属性String name;String stuID;String className;int age;int score;public void showInfo(){System.out.println("--学生个人基础信息--");System.out.println("姓名" + name);System.out.println("学号" + stuID);System.out.println("年龄" + age);System.out.println("班级" + className);System.out.println("成绩" + score);}public void study(){score+=5;System.out.println(name + "学习了一门课程,学分增加5分。");}public void play(){System.out.println(name + "正在玩");}//测试//使用类创建对象变量 并使用对象变量名调用属性和方法public static void main(String[] args) {Student s1 = new Student();s1.name = "张三";s1.stuID = "001";s1.age = 18;s1.className = "1班";s1.score = 90;s1.showInfo();s1.study();s1.showInfo();s1.play();}
}