第十一章 类和对象

一、本章技能目标

  • 掌握类和对象
  • 理解封装
  • 会创建和使用对象

二、内容

1 对象

  • 分类是人们认识世界的一个很自然的过程,在日常生活中会不自觉地进行分类
  • 什么是对象,对角是用来描述客户事物的一个实体
  • Java是一种面向对象的编程语言

1.1 身边的对象

  • 用向对象方法来解决问题是,首先要对现实世界中的对象进行分析与归纳,找出哪些对象与要解决的问题是相关的
  • 对象都有一些特征,这些特征是有别于其他对象
  • 所以对象由特征和操作组成

1.2 对象的属性和方法

  • 在面向对象的编程思想中,把对象的静态特征和动态特征分别称为对象属性和方法
  • 在编程中,对象的属性被存储在一些变量中,对象的行为则通过定义方法来实现
  • 对象:用来描述客观事物的一个实体,由一组属性和方法构成

1.3 封装

  • 对象同时具有属性和方法两项特性
  • 封装:就是把一个事物包装起来,并尽可能隐藏内部细节

一辆汽车,有完好的零件和特定的颜色,还应具备开动、刹车等方法行为

2 类

  • 类定义了对象将会拥有的特征(属性)和行为(方法)

  • 类是对象的类型

2.1 类和对象的关系

  • 类是抽象的概念,仅仅是模板
  • 对象是一个你能够看得到、摸得着的具体实体

3 Java是面向对象的语言

3.1 Java的类模板

语法

  1. public class  类名 {
  2.        //定义属性部分
  3.        属性1的类型 属性1;
  4.        属性2的类型 属性2;
  5.  …
  6.        属性n的类型 属性n;
  7.        //定义方法部分
  8.        方法1;
  9.        方法2;
  10.        …
  11.        方法m;
  12. }

注意

  • 在Java中创建一个类,有三个要素:一个class、类名和一对大括号
  • class前面有一个public ,表示“公有”的意思,不要漏写“pulbic"
  • class 后面跟类名,类名要遵循一定规则
    • 不能使用Java关键字
    • 不能包含空格或点号以及除下划线”_"和“$"字符以外的特殊字符
    • 不能以数字开头
  • 首字母最好大写

3.2 如何定义类

3.2.1 定类的步骤

?定义类名

?编写类的属性

?编写类的方法

3.2.2 问题:在不同北大青鸟培训中心,会感受到相同的环境和教学氛围,用类的思想输出中心信息

实现

  1. public class School {
  2. String schoolName; //中心名称
  3. int classNumber; //教室数目
  4. int labNumber; //机房数目
  5. //定义北大青鸟中心的方法
  6. public void showCenter() {
  7. System.out.println(schoolName + "培训学员\n" + "配备:"
  8. + classNumber + "教" + labNumber + "机");
  9. }
  10. }

3.2.3 定义一个简单方法

  1. 访问修饰符 返回值类型 方法名(){
  2. }

3.2.4 标识符的命名法

  • 骆驼命名法:第一个单词的首字母小写,后面每个单词的首字母大写;showCenter
  • 帕斯卡命名法:每一个单词的首字母都大写;School
  • 在Java中,定义类的属性和方法使用骆驼命名法,定义类使用帕斯卡命名法

3.3 如何创建和使用对象

3.3.1 创建对象的语法

  1. 类名 对象名 = new 类名();

eg School center = new School()

3.3.2 使用对象的语法

  • 引用对象成员:使用“.”进行以下操作
    • 引用类的属性:对象名.属性
    • 引用类的方法:对象名.方法名()
  1. center.name = "北京中心";    //给name属性赋值
  2. center.showCenter();     //调用showCenter()方法

3.3.3 创建北京中心

  1. public class InitialSchool {
  2. public static void main(String[] args) {
  3. School center = new School();
  4. System.out.println("***初始化成员变量前***");
  5. center. showCenter();
  6. center.schoolName = "北京中心";
  7. center.classNumber = 10;
  8. center.labNumber = 10;
  9. System.out.println("\n***初始化成员变量后***");
  10. center.showCenter()
  11. }
  12. }

分析:

  • main()方法是程序的入口,可以出现在任意一个类中,因此也可以写在School类中。写在这里的原因,是希望不同的类实现不同的功能
  • 使用关键字new创建类的对象
  • 使用”."操作符访问类的属性
  • 使用“."操作符访问类的方法

3.4 综合示例

3.4.1 需求:编写学员类,输出学员相关信息

效果

分析

实现
  1. public class Student {
  2. String name; //姓名
  3. int age; //年龄
  4. String classNo; //班级
  5. String hobby; //爱好
  6. public void show(){
  7. System.out.println(name + "\n年龄:" + age + "\n就读于:" +
  8. classNo + "\n爱好:" + hobby);
  9. }
  10. }
  1. public class InitialStudent {
  2. public static void main(String args[]){
  3. Student student = new Student(); //创建对象
  4. student.name = "张浩"; //给各个属性赋值
  5. student.age = 10;
  6. student.classNo = "S1班";
  7. student.hobby = "篮球";
  8. student.show(); //调用方法
  9. }
  10. }

3.4.2 编写教员类,输出教员相关信息

需求

分析

实现
  1. public class Teacher {
  2. String name; //姓名
  3. String major; //专业方向
  4. String courses; //教授课程
  5. int schoolAge; //教龄
  6. //输出信息方法
  7. public void show(){
  8. System.out.println(name + "\n专业方向:" + major +
  9. "\n教授课程:" + courses + "\n教龄:" + schoolAge);
  10. }
  11. }
  1. public class InitialTeacher {
  2. public static void main(String[] args) {
  3. Teacher teacher = new Teacher(); //创建对象
  4. teacher.name = "王老师"; //给各个属性赋值
  5. teacher.major = "计算机";
  6. teacher.courses = "使用Java语言理解程序逻辑";
  7. teacher.schoolAge = 5;
  8. teacher.show(); //调用方法
  9. }
  10. }

3.4.3 输出门票的价格

需求:

一个景区根据游人的年龄收取不同价格的门票。请编写游人类,根据年龄段决定能够购买的门票价格并输出

分析

实现
  1. public class Visitor {
  2. String name; //姓名
  3. int age; //年龄
  4. public void show(){
  5. Scanner input = new Scanner(System.in);
  6. while(!"n".equals(name)){
  7. if(age>=18 && age<=60){ //判断年龄
  8. System.out.println(name + "的年龄为:" + age +
  9. ",门票价格为:20元\n" );
  10. }else{
  11. System.out.println(name + "的年龄为:" + age + ",门票免费\n");
  12. }
  13. System.out.print("请输入姓名:");
  14. name = input.next(); //给name属性赋值
  15. if(!"n".equals(name)){
  16. System.out.print("请输入年龄:");
  17. age = input.nextInt(); //给age属性赋值
  18. }
  19. }
  20. System.out.print("退出程序");
  21. }
  22. }
  1. public class InitialVistor {
  2. public static void main(String[] args) {
  3. Scanner input = new Scanner(System.in);
  4. Visitor v = new Visitor(); //创建对象
  5. System.out.print("请输入姓名:");
  6. v.name = input.next(); //给name属性赋值
  7. System.out.print("请输入年龄:");
  8. v.age = input.nextInt(); //给age属性赋值
  9. v.show();                       //调用显示信息方法
  10. }
  11. }

4 技能训练

利用面向对象的方法,编写一个计算器(Calculator),可以实现两个整数的加、减、乘、除运算

5 小结

  • 对象是用来描述客观事物的一个实体
  • 类定义了对象将会拥有的特征(属性)和行为(方法)
  • 类是对象的类型,对象是类的实例
  • 使用类的步骤

关注我们


捐赠我们
    良师益友工作室一直在致力于帮助编程爱好更加快速方便地学习编程,如果您对我们的成果表示认同并且觉得对你有所帮助,欢迎您对我们捐赠^_^。

时间: 2024-10-11 18:26:01

第十一章 类和对象的相关文章

十一章.类和对象

1.身边的对象. 现实世界中的客观存在的的任何事物都可以被看做是对象.对象可以是有形的也可以是无形的,如一辆汽车:它也可以是一项计划.因此对象无处不在. 对象:用来描述客观事物的一个实体,由一组属性和方法构成. 2.对象的属性和方法. 把对象的静态特征和动态特征分别称作为对象的属性和方法,它们是构成对象的两个主要因素. 3.封装. 封装就是把一个事物包装起来,并尽可能地隐藏内部. 对象具有封装性. 4.类. 类定义了对象将会拥有的特征(属性)和行为(方法). 类的属性:对象所拥有的静态特征在类中

第四章 类与对象

一.面对对象编程的三个特性 封装性:经数据和对数据的操作封装在一起.通过抽象,从实例中抽取共同性质形成一般概念,例如类. 继承:子类可继承父类的属性和行为,继承父类所具有的数据和数据上的操作,同时增添子类独有的数据和数据上的操作. 多态:一是操作名称的多态,多个操作具有相同名字,这些操作所接受的消息必须不同:二是和继承有关的多态,同意操作被不同对象调用时产生不同行为. 二.类声明 类是JAVA程序的基本要素,JAVA应用程序有若干类组成,类声明的变量为对象变量. 类的定义两部分:类声明.类体 c

C++ 第4章 类与对象

4.1 面向对象程序设计的基本特点 4.4.1 抽象 抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程.首先注意的是问题的本质及描述,其次是解决问题的具体过程对一个问题的抽象应该包括两个方面:数据抽象和行为抽象(或称为功能抽象.代码抽象) 数据抽象:描述某类对象的属性或状态(对象相互区别的物理量). 代码抽象:描述某类对象的共有的行为特征或具有的功能. 抽象的实现:通过类的声明抽象实例——钟表 数据抽象: int Hour, int Minute, int Second

Java 第七章 类和对象 笔记

一.对象的特征--类的属性 每个对象的每个属性都有特定的值 对象的操作--类的方法 二.封装:对象同时具有属性和方法两项特性.     对象的属性和方法通常被封装在一起,共同体现事物的特性,     二者相辅相成,不能分割. 三.类和对象的区别:     类:抽象的概念,是一个模子,确定了对象的属性和方法.    对象:能够看得见摸得着的实物.具有静态和动态特征. 四.定义类的步骤:     1.定义类名      2.定义类的属性 访问修饰符 属性类型 属性名称=默认值:     3.定义类的

《Java入门第二季》第一章 类和对象

什么是类和对象 如何定义 Java 中的类 如何使用 Java 中的对象 Java中的成员变量和局部变量1.成员变量:在类中定义,描述构成对象的组件.2.局部变量:在类的方法中,用于临时保存数据.3.成员变量的有效范围:类中的所有方法都可以调用成员变量.4.局部变量和成员变量允许重名,这个时候局部变量具有更高优先级. Java 中的构造方法1.若不自己写构造方法,Java会默认给一个无参的构造方法.但若是自定义了构造方法,不论有无参数,系统默认给的无参构造器都会失效.2.写构造器的时候可以顺便检

Java 核心技术 第四章 类与对象

类:构造对象的模板和蓝图.由类构造对象的过程称为创建类的实例. 对象的特征: 对象的行为 对象的状态 对象的标识 类之间的关系: 依赖 聚合 继承 对象与对象变量: new Date() new GregorianCalendar() new GregorianCalendar(1999, 11, 31) new GregorianCalendar(1999, Calendar.DECEMBER, 31) new GregorianCalendar(1999, Calendar.DECEMBER

第4章 类、对象和包

1.在一个类中的访问机制:类中的方法可以直接访问类中的成员变量.(有一个例外):在不同类中的访问机制:先创建要访问类的对象,再用对象访问类中定义的成员. 2.当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值. 3.我们也可以不定义对象的句柄,而直接调用这个对象的方法.这样的对象叫做匿名对象, 如:new Person().shout();如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象. 我们经常将匿名对象作为实参传递给一个函数调用. 4.引用类型的值在其他方法中改变

第7章 类和对象 类

1.  类是世间事物的抽象称呼,而对象则是这个事物相对应的实体: 类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类,例如:鸟类封装了所有鸟的共同属性和应具有的行为. 在Java语言中,类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的. 2.面向对象程序设计具有以下特点: 封装性:将对象的属性和行为封装起来,其载体是类 继承性:利用特定对象之间的共有属性 多态性:父类对象应用于子类的特征:抽象类和接口

第七章 类和对象

1. java是一种面向对象的编程语言(Object Oriented Pragramming Languge,OOP). 2. OPP具有的优点是: 使人们的编程与实际的世界更加接近,所有的对象被赋予属性和方法,这样编程就更加人性化:它的宗旨在于模拟现实世界中的概念 3. OPP主要有抽象.封装.继承.多态四大特征 4. 对象: 1)用来描述客观事物的一个实体,由一组属性和方法构成 2)对象的属性和方法通常被封装在一起,共同体现事物的特征,二者相辅相成,不可分割 对象的特征--类的属性 对象的