前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA面向对象-类和对象

JAVA面向对象-类和对象

作者头像
玖柒的小窝
修改2021-12-24 11:39:21
9670
修改2021-12-24 11:39:21
举报
文章被收录于专栏:各类技术文章~各类技术文章~

目录

前言

面向对象是java语言编程的特征,也是它好用的关键。学习起来并不困难,只是需要理解 学习之前,我们需要了解自己能否进行现在的学习 先阅读必备技能 :必备基础


1、什么是对象

1.1、事物和对象

世界由各种事物组成

现实生活中有那些事物

举例:

现实生活中是叫事物

编程中叫对象

1.2、对象的特征

对象有许许多多的特征

比如:你们的对象

1、静态特征(元素):

身高:,体重: --》属性名:属性值

2、动态特征(行为):会吃饭,睡觉,举高高 --》方法

1.3、对象的定义

用来描述客观事物的一个实体

由一组属性和方法构成

2、什么是类

2.1、类的定义

类是模子,定义对象将会拥有的特征(属性)和行为(方法)

2.2、举例一些类

人类:总结一下所有人哪些共有的标签

​ 哪些共有的行为

2.3、类和对象的关系

类是对象的抽象,对象是类的具体

类中有属性,方法 --》

对象有属性,具体的属性值

对象有方法,对应的执行

3、类的组成

类由对象抽象出来的属性和方法组成

属性:属性类型,属性名组成

方法:构造方法+行为方法组成

4、创建类及创建对象

4.1、类的模板

代码语言:javascript
复制
public class [类名]{
    //属性
    [属性类型] [属性名];
    //构造方法  特殊的方法
    //无参的
    public [类名](){}
    //有参的
    public [类名](变量 变量名){
        this.[属性名] = [变量名];
    }
    
    //行为方法
    //无参
    public [返回值] [方法名](){
        //方法体
    }
    //有参
    public [返回值] [方法名](变量 变量名){
        //方法体
    }
}

4.2、创建的规范

  • 类名
    • 首字母大写(区分于变量名)
    • 有意义(Person/Animal)
  • 属性
    • 变量名的规范
    • 属性类型
  • 方法
    • 方法名首字母小写(构造除外)

4.3、编写类的步骤

定义类名---》编写类的属性---》编写类的方法

4.3.1、演示一Student

先看对象:

属性名/方法

属性值/方法名

学号

名字

身高

体重

方法

自我介绍

抽象出类--》学生

类名:Student

属性:

​ sNo

​ name

​ height

​ weight

方法

​ ShowInfo() 自我介绍

代码语言:javascript
复制
public void Student{
    int sNo;
    String name;
    double height;
    double weight;
    
    public void showInfo(){
        System.out.print("我是"+this.name)
    }
}
4.3.2、对象的创建(类的实例化)

字符串的创建:

代码语言:javascript
复制
//创建一
String s1 = "hello world!!!";
//创建二
String s2 = new String("hello wrold!!!");

String 特殊可以直接赋值

而大部分对象只能使用第二中创建方式

代码语言:javascript
复制
//对象创建
Student zhangsan = new Studebt();
//引用对象成员:使用“.”进行以下操作
zhangsan.name = "张三";//给对象属性赋值
zhangsan.showInfo();//调用对象方法

练习:

1、创建手机类

2、创建电脑类

要求:总结出2-3个属性 有一个方法 (20min)

4.4、类成员详解

4.4.1、构造方法

构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:

1.构造方法作用:

​ (1).构造出来一个类的实例

​ (2).对构造出来一个类的实例(对象)初始化。

2.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。

3.主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行的。

4.类中必定有构造方法,若不写,系统自动添加无参构造方法。

5.构造方法分为两种:无参构造方法 有参构造方法

  • 无参构造
    • 特点:没有参数
  • 有参构造
    • 特点:需要有参数,1-n
    • 对象使用New创建的时候,在类名后的()中填写属性
4.4.2、方法

方法的模板:

代码语言:javascript
复制
[修饰符] [返回值] [方法名]([参数1]、[参数2]...){
    //方法体
}
  • 修饰符
    • public
    • 默认
    • private
    • protected
image
image

演示

  • 返回值
    • 方法的返回值是指方法被调用之后,执行方法体中的代码所得到的结果,这个结果通过 return 语句返回。
    • void代表空值,不需要返回值
    • return关键字
      • 作用1:返回结果
      • 作用2:跳出方法
  • 参数
    • 当方法中需要外部变量的时候,使用参数传进方法
4.4.3、作用域

在类中的变量分为全局变量和局部变量,我们来分析一下

1、成员变量/局部变量

全局变量是直接定义在类中的

顾名思义是作用于全局的变量,但是我们要明白,这里的全局是什么意思

这里全局的意思是这整个对象中。一个对象从创建开始,这个变量会一直存在,

不管最后这个变量的值最后变成什么,这个变量的引用会一直存在。

2、局部变量

变量定义在类中的方法里都是局部变量。

随着方法的调用被创建,方法调用结束也就结束

3、举例:

代码语言:javascript
复制
public class Person{
	String name;//成员变量
	public void test(){
		String name = "张三";//局部变量
	}
}
4.4.5、方法的重载(444不太吉利)

定义:同一个事物,在做一件事情的时候,因为条件的不同,进行不同的操作。不同不仅仅是类别、数量,还有顺序

程序上:

  • 两个方法,方法名相同,返回值相同,但是参数不同:类型、数量、顺序不同
  • 方法体进行了更改,也就是执行了不同的操作
代码语言:javascript
复制
public class person{
    //输出吃的什么
    public void eat(String food){
        System.out.println("我吃的是"+food);
    }
    //输出时间段吃的什么
    public void eat(String food,String time){
        System.out.println("我"+time+"吃的是"+food);
    }
}

好处:

  • 反映了随机应变的理念,更加符合面向对象
  • 比如:做饭的时候。做饭这个事情,做出来什么菜,取决于食材是什么,食材的多少。

5、项目总结

综合练习:人机猜拳

任务

  • 完成人机猜拳互动游戏的开发

主要功能

  • 选取对战角色
  • 猜拳
  • 记录分数

项目效果

image
image

5.1、阶段1:分析业务,创建用户类

需求说明

  • 分析业务,抽象出类、类的特征和行为
  • 创建用户类
image
image

5.2、阶段2:创建计算机类

需求说明

  • 创建计算机类Computer
  • 实现计算机出拳
image
image

提示

  • 产生一个1~3的随机数, 模拟计算机的出拳结果 例如,产生2,显示“电脑出拳:石头”

5.3、阶段3:创建游戏类,选择对战对手

需求说明

  • 创建游戏类Game
  • 编写游戏类的初始化方法initial()
  • 编写游戏类的开始游戏方法startGame()
image
image

5.4、阶段4:实现一局对战

需求说明

  • 分别调用用户类和计算机类的出拳方法showFist(),接受返回值并比较,给出胜负结果
image
image

5.5、阶段5:实现循环对战,并累计得分

需求说明

  • 实现循环对战
  • 累加赢家的得分
image
image

5.6、阶段6:显示对战结果

需求说明

  • 游戏结束后,显示对战结果
image
image

提示

  • 编写showResult( )方法, 比较二者的得分情况, 给出对战结果

5.7、阶段7:完善游戏类的startGame()

需求说明

  • 输入并保存用户姓名,游戏结束后显示双方的各自得分
image
image

5.8、恭喜大家完成了

6、总结

image
image

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1、什么是对象
    • 1.1、事物和对象
      • 1.2、对象的特征
        • 1.3、对象的定义
        • 2、什么是类
          • 2.1、类的定义
            • 2.2、举例一些类
              • 2.3、类和对象的关系
              • 3、类的组成
              • 4、创建类及创建对象
                • 4.1、类的模板
                  • 4.2、创建的规范
                    • 4.3、编写类的步骤
                      • 4.3.1、演示一Student
                      • 4.3.2、对象的创建(类的实例化)
                    • 4.4、类成员详解
                      • 4.4.1、构造方法
                      • 4.4.2、方法
                      • 4.4.3、作用域
                      • 4.4.5、方法的重载(444不太吉利)
                  • 5、项目总结
                    • 5.1、阶段1:分析业务,创建用户类
                      • 5.2、阶段2:创建计算机类
                        • 5.3、阶段3:创建游戏类,选择对战对手
                          • 5.4、阶段4:实现一局对战
                            • 5.5、阶段5:实现循环对战,并累计得分
                              • 5.6、阶段6:显示对战结果
                                • 5.7、阶段7:完善游戏类的startGame()
                                  • 5.8、恭喜大家完成了
                                  • 6、总结
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档