JavaSE-Day08 (面向对象)

面向对象

编程思想

面向过程
考虑事物发展的过程,即 按照顺序步骤去做
面向对象
事物中存在的对象
在建立对象与对象的关系

对象

概念:
	生活中: 实际存在的事物就是对象
	代码中: 模拟生活中实际存在的对象
	万事万物皆对象

如何创建一个对象?
	语法:
		类名 对象名 =	new 类名(实参列表);
	本质:
		调用类中的构造函数
	要求;
		调用构造函数的时候,传入实参列表 要与 形参列表 的数据类型 数据长度 顺序一致

如何使用对象调用属性?
	语法:
		对象名.属性名字;			获取对象中属性的值
		对象名.属性名字 = 值; 	给对象中的属性赋值
	
如何使用对象调用方法?
	语法:
		对象名.方法名字(实参列表);
		注意:
			在本类中调用本类中的方法,可以使用this
	要求;
		调用构造函数的时候,传入实参列表 要与 形参列表 的数据类型 数据长度 顺序一致

概念:
	将多个对象的共同点抽取出来,这样的概念就叫做类
如何创建一个类?
	语法:
		权限修饰符 class 类名(大驼峰命名规则){
		}
		权限修饰符: public
	定义的位置:
		目前只能定义在类外;

类中有什么?
	属性:
		变量(成员变量)
	构造函数:
		特殊的方法 也称为 构造方法
	方法;
		别名:函数
		可以做什么
---------------------------------------------------------------------------------------------------
	属性语法:
		数据类型 属性名字;
	构造函数语法:
		权限修饰符 类名(与类 的 名字要一致)(形参列表){
			this.属性 = 形参;
			...
		}
	方法语法:
		权限修饰符 返回值类型 方法名字(形参列表) {
			方法体;
			return xxx;
		}
 属性的作用 :
		描述对象的静态特征 
 构造函数的作用 :
		为了创建该类的对象 
 方法的作用 :
		描述对象的动态特征

类与对象的关系

生活中:
	先有对象 在有类
代码中:
	先有类 才可以创建对象

this的使用

概念:
	this 调用的是当前类中的
	
使用:
	1. 局部变量和成员变量重名,就可以利用this.属性名了区分两者的区别
	2. 在本类的构造函数中调用本类中其它的构造函数,就可以使用 this(实参列表);
		注意:
			只能写在第一行,不能形成死循环
	3.在本类方法中调用本类中其它方法,可以直接调用,不用写this

对象的创建过程

语法:
	类名 对象名字 = new 类名(实参列表);
过程:
	在堆内存中开辟内存
	给对象的属性赋初始值 (即对应类型的默认值)
	执行构造函数的代码
	将栈中的引用指向堆中开辟的内存地址

匿名对象

语法:	
	new 类名(实参列表);
	匿名对象的创建没有创建对象名字
缺点:
	代码的阅读性比较差
	创建出 的匿名对象只能使用一次
	使得代码结构混乱

作业

创建类的语法格式是?
类中有什么?定义位置与定义语法
如何创建对象?
如何使用对象调用属性与方法?
当局部变量与成员变量重名时如何区分?

请使用代码创建一下对象
德玛,男
阿珂,女
德邦,男

使用德玛对象释放Q技能
使用阿珂对象释放R技能
使用德邦对象平A

请创建矩形类,并在其中提供获取周长与面积的方法

张三去网吧上网,判断张三是否可以上网(使用面向对象思想编程)
张三,男,21岁

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值