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

自己定义类,然后用自己定义的类来创建对象


第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()】,

一个类里的同名但是参数表不同的函数构成了重载关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值