更多内容,点击了解: https://how2j.cn/k/oo/oo-method/303.html

目录

面向对象系列教材 (一)- Java中的类和对象

步骤 1 : 设计英雄这个类

步骤 2 : 创建具体的英雄

步骤 3 : 类的第一个字母大写

面向对象系列教材 (二)- Java类的属性

步骤 1 : 属性的类型

步骤 2 : 属性名称

面向对象系列教材 (三)- Java类的方法

示例 1 : 什么是方法

示例 2 : 方法返回类型

示例 3 : 方法的参数

示例 4 : 方法的命名


面向对象系列教材 (一)- Java中的类和对象


本章节会引入面向对象的基本概念 (但是不会深入展开,仅仅是引入. 深入的学习会在后续的类和对象以及接口与继承 中展开) 
相信你肯定玩过DOTA或者LOL,没玩过,也一定听说过身边有很多的朋友在玩这款游戏的 
假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做?

步骤 1 : 设计英雄这个类

LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女
所有这些英雄,都有一些共同的状态
比如,他们都有名字,hp,护甲,移动速度等等
这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物
类: 英雄(Hero)
状态: 名字, 血量,护甲,移动速度注: 本例用到了3种数据类型 分别是 String(字符串),float(浮点数), int(整数),本章只做简单的使用 ,就不展开了,关于变量知识的详细讲解,将在下个章节展开.注: 这个类没有主方法,不要试图运行它。 并不是所有的类都是有主方法的。

设计英雄这个类

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

}

步骤 2 : 创建具体的英雄

类就像一个模板,根据这样一个模板,可以创建一个个的具体的英雄 
一个个具体的英雄,就叫一个个的对象 new Hero() 就是java中创建一个英雄对象的意思

创建具体的英雄

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    public static void main(String[] args) {

        Hero garen =  new Hero();

        garen.name = "盖伦";

        garen.hp = 616.28f;

        garen.armor = 27.536f;

        garen.moveSpeed = 350;

        Hero teemo =  new Hero();

        teemo.name = "提莫";

        teemo.hp = 383f;

        teemo.armor = 14f;

        teemo.moveSpeed = 330;

    }  

}

步骤 3 : 类的第一个字母大写

好的编程习惯会让代码看上去更清爽,易读,容易维护
比如类的第一个字母大写Hero

public class Hero {

}

面向对象系列教材 (二)- Java类的属性


一个英雄有姓名,血量,护甲等等状态 
这些状态就叫做一个类的属性

步骤 1 : 属性的类型

属性的类型可以是基本类型,比如int整数,float 浮点数
也可以是类类型,比如String 字符串
其他类型请参考基本类型章节

属性的类型

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

}

步骤 2 : 属性名称

属性名称一般来说,都是小写 
比如name 
如果有多个单词组成,后面的单词的第一个字母大写 
比如 moveSpeed 
属性也是变量,所以需要满足 变量的命名规则

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

}

面向对象系列教材 (三)- Java类的方法


在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友 
能做什么在类里面就叫做方法

示例 1 : 什么是方法

比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉。 这就是坑队友
每个英雄。。。。都可以
所以为Hero这个类,设计一个方法: keng

什么是方法

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //坑队友

    void keng(){

        System.out.println("坑队友!");

    }

}

示例 2 : 方法返回类型

有的方法是有返回类型的
比如方法:

float getArmor(){

  return armor;

}


这个方法是用来获取一个英雄有多少护甲的,返回类型是float
有的方法不需要返回值,这个时候就把返回类型设置为void,表示该方法不返回任何值
比如方法 "坑队友"

void keng(){

  System.out.println("坑队友!");

}

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //获取护甲值

    float getArmor(){

        return armor;

    }

    //坑队友

    void keng(){

        System.out.println("坑队友!");

    }

}

示例 3 : 方法的参数

英雄在一些特定情况下,可以增加移动速度
这样我们就通过addSpeed这个方法增加移动速度

void addSpeed(int speed){

  //在原来的基础上增加移动速度

  moveSpeed = moveSpeed + speed;

}


int speed 叫做方法的参数
给盖伦增加100的移动速度:

Hero garen =  new Hero();

garen.name = "盖伦";

garen.moveSpeed = 350;

garen.addSpeed(100);

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //坑队友

    void keng(){

        System.out.println("坑队友!");

    }

    //获取护甲值

    float getArmor(){

        return armor;

    }

    //增加移动速度

    void addSpeed(int speed){

        //在原来的基础上增加移动速度

        moveSpeed = moveSpeed + speed;

    }

    public static void main(String[] args) {

         Hero garen =  new Hero();

         garen.name = "盖伦";

         garen.moveSpeed = 350;

         garen.addSpeed(100);

    }

}

示例 4 : 方法的命名

方法是一个类的动作行为,所以一般都是以动词开头的,比如 keng ... 
如果有多个单词,后面的每个单词的第一个字母使用大写 
比如 addSpeed

public class Hero {

    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //坑队友

    void keng(){

        System.out.println("坑队友!");

    }

    //获取护甲值

    float getArmor(){

        return armor;

    }

    //增加移动速度

    void addSpeed(int speed){

        //在原来的基础上增加移动速度

        moveSpeed = moveSpeed + speed;

    }

}


更多内容,点击了解: https://how2j.cn/k/oo/oo-method/303.html