JAVA面向对象的基础知识快速通过---自学笔记(一)

来源:互联网 发布:linux网卡配置生效 编辑:程序博客网 时间:2024/06/06 02:51

Java作为一种面向对象语言。学习java必须懂得基本概念:

  • 多态
  • 继承
  • 封装
  • 抽象
  • 对象
  • 实例
  • 方法
  • 重载

对象

对象就是我们周围的各种各样的事物。例如:衣服、盘子、宠物、朋友、电脑等。

对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

软件对象也有状态和行为。软件对象的状态就是属性行为通过方法体现。

每个对象都有一些状态(属性)。例如:

衣服:{颜色,长度,面料…}。

猫:{名字,情绪,饥饿,}。


有些对象会作出一些行为。例如:

猫:{名字,情绪,疲劳,饥饿…

发怒,玩耍,吃食,睡觉…}。

 

对象的行为改变对象的状态。例如:

玩耍 → 疲劳=True

睡觉 → 疲劳=False

吃食 → 饥饿=False

 

对象的状态影响对象的行为。例如:

if( 饥饿 == False) → 吃食 return failure

构造方法

每个类都有构造方法

如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法

在创建一个对象的时候,至少要调用一个构造方法

构造方法的名称必须与同名,一个类可以有多个构造方法。

下面是一个构造方法示例(声明类的方法):

public class Dog{//类(有多个构造方法)    public Dog(){//构造方法(与类同名)    }     public Dog(String name){        // 这个构造器仅有一个参数:name    }}

创建对象

对象是根据创建的。在Java中,使用关键字new创建一个新的对象。创建对象需要以下三步:

  • 第1步.声明:声明一个对象,包括对象名称和对象类型。
  • 第2步.实例化:使用关键字new来创建一个对象。
  • 第3步.初始化:使用new创建对象时,会调用构造方法初始化对象。

下面是一个创建对象的例子: Dog myDog = new Dog( "tommy" );

public class Dog{//对象小狗   public Dog(String name){//用的构造方法      //这个构造器仅有一个参数:name      System.out.println("小狗的名字是 : " + name );    }   public static void main(String []args){      // 下面的语句将创建一个Dog对象      Dog myDog = new Dog( "tommy" );   }}
输出:

小狗的名字是 : tommy

访问实例变量和方法

通过已创建的对象来访问成员变量和成员方法,如下所示:

/* 实例化对象 */ObjectReference = new Constructor();/* 访问类中的变量 */ObjectReference.variableName;/* 访问类中的方法 */ObjectReference.MethodName();

实例:
public class Puppy{   int puppyAge;   public Puppy(String name){      // 这个构造器仅有一个参数:name      System.out.println("小狗的名字是 : " + name );    }    public void setAge( int age ){       puppyAge = age;   }    public int getAge( ){       System.out.println("小狗的年龄为 : " + puppyAge );        return puppyAge;   }    public static void main(String []args){      /* 创建对象 */      Puppy myPuppy = new Puppy( "tommy" );      /* 通过方法来设定age */      myPuppy.setAge( 2 );      /* 调用另一个方法获取age */      myPuppy.getAge( );      /*你也可以像下面这样访问成员变量 */      System.out.println("变量值 : " + myPuppy.puppyAge );    }}

输出:
小狗的名字是 : tommy小狗的年龄为 : 2变量值 : 2





类(

类是对象的蓝图



类是对象的蓝图,对象是类的实例,如同绘图员可以绘制设备的蓝图,蓝图可以在制造实际设备时使用很多次。

类是软件的蓝图,你可以用类,来实例化许许多多个别的对象。

在类中定义了一套数据元素状态属性)和一套行为方法)。行为用来操作对象,以及完成相关对象之间的交互。

属性方法都叫做成员。例如:交通工具对象必须保存两个属性:最大载重量和当前载重量;装载集装箱的方法要始终跟踪这两个属性。

类可以看成是创建Java对象的模板。
public class Dog{//对象狗,(声明类)  //以下是属性/状态,(声明属性) String breed;//种类 int age;//年龄 String color//颜色  //以下是dog类方法/行为,(声明方法) void barking(){//狗叫 } void hungry(){//饥饿 } void sleeping(){//睡觉 }}
一个类可以包含以下类型变量:
局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。

抽象(分析与设计)

抽象:就是对事物的状态、行为进行概括、总结、描述。

软件开发过程可分为五个阶段:(分析、设计)、实现、测试、发布。

抽象对应于软件工程的分析、设计阶段。

分析就是确定我们开发的系统想要实现什么。在分析阶段可以定义一组操作者,以及系统必须完成的行为。此外,还要定义一组主对象,系统在主对象之间完成操作、行为、交互。行为的描述要足够详细。

设计就是确定系统如何实现要达到的目标。在设计阶段,要生成操作者、行为、主对象的模型。


例如,我们可以对一个轮船公司的软件工程作出下面的抽象:

软件必须支持一个轮船公司。

轮船公司保持一队运输集装箱的交通工具。

在调出一个交通工具时,集装箱的重量是唯一的重要因素。

轮船公司有两种类型的交通工具:卡车和内河驳船。

集装箱用千克标重,计算交通工具的引擎功率时,需要用牛顿表示的交通工具的总重量。

图形用户接口用来跟踪向交通工具中装载的集装箱。

一些报表用来生成车/船队的记录。

 然后:

凭借这些需求分析,我们可以作出高水平的设计:

系统中必须用对象表示公司、两种交通工具。

公司是多个交通工具对象的集合。

还应该包括报表、图形用户接口等对象。


---------------------------------未完,待续!·······················
原创粉丝点击