<>面向对象第一天:

<>潜艇游戏第一天:

* 创建6个类,创建World类并测试
<>回顾:

*
数组:

*
复制:

*
System.arraycopy(a,1,b,0,4);

*
int[] b = Arrays.copyOf(a,6);

a = Arrays.copyOf(a,a.length+1);

*
排序:

* Arrays.sort(arr);
*
方法:函数、过程

​ 封装一段特定的业务逻辑功能、只干一件事、可以被反复调用、

​ 减少代码重复,有利于代码的复用、有利于代码的维护

*
方法的定义:

​ 修饰词 返回值类型 方法名(参数列表) {

​ 方法体

​ }

*
方法的调用:

* 无返回值:方法名(有参传参);
* 有返回值:数据类型 变量 = 方法名(有参传参);
*
return:

* return 值; //1)结束方法 2)返回结果给调用方
* return; //1)结束方法
<>笔记:

*
什么是类?什么是对象?

*
现实生活中是由很多很多对象组成的,基于对象抽出了类

*
对象:软件中真实存在的单个个体/东西

类:类别/类型,代表一类个体

*
类是对象的模子,对象是类的具体的实例

*
类中可以包含:

* 对象的属性/特征-----------------------成员变量
* 对象的行为/动作-----------------------方法
*
一个类可以创建多个对象

*
如何创建类?如何创建对象?如何访问成员?
public class Student { //Student类就是我们自己造的一种引用类型 //成员变量 String name; int age;
String address; //方法 void study(){ System.out.println(name+"在学习..."); } void
sayHi(){ System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address); } } public
class StudentTest { public static void main(String[] args){ //创建一个学生对象 Student
zs= new Student(); //给成员变量赋值 zs.name = "zhangsan"; zs.age = 25; zs.address =
"河北廊坊"; //调用方法 zs.study(); zs.sayHi(); Student ls = new Student(); ls.name =
"lisi"; ls.age = 24; ls.address = "黑龙江佳木斯"; ls.study(); ls.sayHi();
//1)创建了一个学生对象 //2)给所有成员变量赋默认值 Student ww = new Student(); ww.study(); ww.sayHi()
; } }
*
方法的重载(overload/overloading):---------------更加方便用户的访问

* 发生在同一类中,方法名相同,参数列表不同
* 编译器在编译时会根据方法的签名自动绑定方法 //重载的演示 public class OverloadDemo { public static void
main(String[] args) { Aoo o = new Aoo(); o.show(); //编译器根据方法的签名自动绑定方法 o.show(
"zhangsan"); o.show(25); o.show("zhangsan",25); o.show(25,"zhangsan"); } } class
Aoo{ void show(){} void show(String name){} void show(int age){} void show(
String name,int age){} void show(int age,String name){} //int show(){ return
1;} //编译错误,重载与返回值类型无关 //void show(String address){} //编译错误,重载与参数名称无关 }
<>精华笔记:

*
什么是类?什么是对象?

*
现实生活中是由很多很多对象组成的,基于对象抽出了类

*
对象:软件中真实存在的单个个体/东西

类:类别/类型,代表一类个体

*
类是对象的模子,对象是类的具体的实例

*
类中可以包含:

* 对象的属性/特征-----------------------成员变量
* 对象的行为/动作-----------------------方法
*
一个类可以创建多个对象

*
如何创建类?如何创建对象?如何访问成员?

*
方法的重载(overload/overloading):---------------更加方便用户的访问

* 发生在同一类中,方法名相同,参数列表不同
* 编译器在编译时会根据方法的签名自动绑定方法
<>潜艇游戏需求:

* 所参与的角色:
* 战舰、深水炸弹、侦察潜艇、鱼雷潜艇、水雷潜艇、水雷
* 角色间的关系:
* 战舰发射深水炸弹
* 深水炸弹可以打潜艇(侦察潜艇、鱼雷潜艇、水雷潜艇),若打中:
* 潜艇消失、深水炸弹消失
* 得东西:
* 打掉侦察潜艇,玩家得10分
* 打掉鱼雷潜艇,玩家得40分
* 打掉水雷潜艇,战舰得1条命
* 水雷潜艇可以发射水雷
* 水雷可以击打战舰,若击中:
* 水雷消失
* 战舰减1条命(命数为0时游戏结束)
补充:

*
高质量的代码:---------------------以后的目标、拿年薪

* 复用性好、扩展性好、维护性好、可移植性好\健壮性好、可读性好、效率好…
*
默认值规则:
byte,short,int,long,char-------------0 float,double-------------------------0.0
boolean------------------------------false 引用类型------------------------------
null
* //若想访问对象,需要通过引用zs 引用 数据类型 引用类型变量 指向 对象 Student zs = new Student();
*
方法的签名:方法名+参数列表

*
明日单词:
1)this:这个 2)Pointer:指针 3)random:随机 4)reference:引用

技术
©2019-2020 Toolsou All rights reserved,
C语言——qsort函数CSS实现溢出显示省略号网络层协议——ICMP协议C语言小游戏-俄罗斯方块Qt入门教程【基础控件篇】QCalendarWidget日历控件用python来控制wifi连接vue中input框只能输入数字Python内置函数C语言数据结构-顺序表删除重复V2.0.0abaqus质量缩放系数取值_ABAQUS的质量缩放