类与对象
一:类是什么?
类可以简单理解为一组具有相似性的事物的集合,当然这些事物我们也将他们称做对象。
类是在包(package)中,一个包里面可以有很多类。
类有两个主要要素:属性和方法。我们可以通过这个区分不同的类。
属性是指:对象的具体状态。比如人的身高,体重,年龄。
方法是值:对象的行为。休息,娱乐,上课,工作等。
形象的说,如果将游戏角色看成是一个包,那么战士,魔法师,游侠等这些职业都 可以是一个单独的类。
他们有有部分相似的属性:生命值,名字,法力值等。还有不同的属性,他们的的 技能数量和效果是不一样的。
二:对象是什么
类是一个抽象的集合,并不指向任何一个具体的事。
一个的具体的事物,当它与一个类具有相同的属性时,它就可以叫做这个类的对象。举个例子:对于战士这个类,我们创建一个对象叫赛恩,它是一个具体的东西,在游戏是我们可以操作它移动,攻击。
同样我们可以创建第二个对象,奥拉夫。它和赛恩具有相同的属性和方法,区别在于他们属性值和方法的内容不一样。他们是不同的对象
三:类和对象的使用
确定一个类首先我们要确定它的属性和方法。
创建一个服装类,我们可以确立的属性有品牌,材料,价格。方法有穿的方式。
首先建立一个类 : 形式 符号限定符 class 类名() {};
`public class fuZhang() {
//属性
public String brand;
public double price;
//方法
public void ways(){
System.out.println("拉链")
}}`
创建对象
形式: 类名 对象名 = new 类名();
fuZhang A = new fuZhang(); //创建一个A品牌的服装的对象
四类面向对象
类面向对象三个特性:封装,继承和多态
封装的实现有几个方法
修饰限定符:private,protect,public。其中public的作用范围是最大的。
本类 | 子类 | 不同包的同类 | 不同包下的不同类 |
---|---|---|---|
public | 1 | 1 | 1 |
1 | 1 | 1 | |
protect | 1 | 1 | 0 |
private | 1 | 0 | 0 |
继承
继承的思考于“演绎推理”有关系,我们常常把具有相同特征的多个类归纳到一个类中,这多个类我们通常称为子类,而归纳得到的类称为父类。
比如猫类可以继承动物的属性和方法。我们要用到的关键字是extends。
语法如下:
public class cat extends animals{}
同时我们会发现猫类还有动物类所没有的东西,我们可以对它进行补充。
此外,继承最开始的动机是抽象,我们把相似的代码抽出来,放到基类中,这样我们可以使用代码重用。
比如,猫狗都会发出声音,但他们实现的内容是不一样的。
public class animals{ abstract public void makesound(){} }//
public class dog {public void makesound(){System.out.println("wang,wang")}}
public class cat {public void makesound(){System.out.println("miao,miao")}}
我们使用了方法重用,来覆盖了父类 的原先的方法。
接口
我们具有相同特征的子类归纳到基类,基类可以被认为是对概念的归纳。同样的,接口是对功能的归纳。
接口中可以定义一些方法,但不能实现这些方法。可以定义字段,但都默认设置为static和fina类型。
我们使用接口常用到interface.
public interface sound{public void makesound(){};}
//当我们要用到该接口时,需要使用implements。
public class animals implements sound{}