您的位置:首页 > 编程语言 > Java开发

JAVA进阶 面向对象程序设计——第1周 类与对象(自己定义类,然后用自己定义的类来创建对象)

2016-09-10 20:36 295 查看
自己定义类,然后用自己定义的类来创建对象

第1周 类与对象


1.1 用类制造对象

1.2 定义类

1.3 成员变量和成员函数

1.4 对象初始化

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

1.1 用类制造对象


之前我们学习了如何使用系统提供的类,比如String,来创建对象和使用对象。

尤其重要的是我们理解了对象变量普通变量的不同,对象变量是对象的管理者而非所有者,所以涉及到赋值、函数参数传递和比较都与普通变量有所不同。

现在,我们要来尝试自己定义类,然后用自己定义的类来创建对象。

充分理解类和对象的关系:类定义了对象长什么样,对象则是按照类的定义所制造出来的实体,一个类可以创建很多对象,每个对象有自己的数据。

用类制造对象

JAVA,GUI图行界面演示

Circle类

对象与类:对象是实体,类是规范,

对象=属性+服务 ;数据:属性或状态,操作:函数;

封装:把数据和对据的操作放在一起

oop特性

1.一切都是对象

2.程序就是一堆互相发送消息的对象 

3.每个对象都有自己的存储空间,里面是其他的对象

4.每个对象都有一个类型

5.所有属于某个特定类型的对象,可以提供相同的服务

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

1.2 定义类


这个课时我们来学习如何自己定义类。一个类由两种东西组成:表示对象有什么的成员变量和表示对象能做什么的成员函数

一旦定义了类,我们就可以创建这个类的多个对象,这些对象都会做那个类所定义的动作(函数),但是各自具有不同的数据

类的语法

自动售货机:变量(参数属性,输入输出)与函数(动作)【业务逻辑】

定义类,创建对象,对象变量是对象的管理者

让对象做事“.运算符”【v.getfood();】

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

1.3 成员变量和成员函数


在没有引入类之前,变量是跟着代码走的。

代码写到哪儿,变量写在哪里,那么运行的时候变量就在那儿。

现在,写在类里的成员变量,只是一个声明,变量并不在那里,变量不在类里变量在每一个对象里

函数的外部调用(对象名.调用函数

在函数中可以直接写成员变量的名字来访问成员变量

函数是通过对象来调用的【v.Money()】,这次调用建立了Money和v之间的关系,让Money的成员变量指的是v的成员变量

this(成员函数内部调用,this.调用函数

this是成员函数一个特殊的固有的本地变量,它表达了调用这个函数的那个对象,this.price

调用函数:通过“‘.’”运算符调用某个对象的函数,在成员变量的内部直接调用自己(this)的其他函数

本地变量(定义在函数内部的变量),作用域和生存期都是函数的内部

成员变量(定义在函数外部的变量),成员变量的生存期是对象的生存期作用域是类内部的成员函数

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

1.4 对象初始化


变量的初始化是程序安全很重要的一环。一旦创建了一个对象,有什么手段可以保证其中的每一个成员变量都有确定的初始值呢?

Java提供了多种手段来保障对象创建时的初始化,包括给每个成员变量默认的“0”值、定义初始化和构造函数

本课时还涉及了函数重载和用this()来调用其他构造函数的方式。

对象初始化

成员变量定义初始化:成员变量在定义的地方就可以给出初始值,没有赋初值的成员变量自动获得0,对象0值表示没有管理任何对象,也可以主动给null值

定义初始化可以调用函数,甚至可以使用已经定义的成员变量。

构造函数(函数重载):如果一个成员函数的名字和类的名字完全相同,则在创建类的每个对象时都会自动调用这个函数,不能有返回类型

但是不同的构造函数的声明形式可以调用不同的构造函数,声明方式。

函数重载:一个类可以有多个函数只要它们的参数表不同,创建对象时给出不同的参数值就自动调用不同的构造函数,通过this还可以调用其他构造函数【this()】,

一个类里的同名但是参数表不同的函数构成了重载关系
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: