面向对象

面向对象编程的基础:类和对象

1、类的定义:类是对具有共同状态和行为规则的多个事物的统一描述;类描述了具有共同特性(数据元素)和行为(功能)的对象集合。

2、对象的定义:在现实世界中,对象是客观存在的某一事物,普遍具有两个特性:状态(属性)和行为。

            在面向对象程序设计中,对象是一组数据和相关方法的集合。

3、面向对象三要素:封装、继承、多态

3.1、封装:封装是将代码及其处理的数据绑定在一起的一种编程机制,该机制保证了程序和数据都不受外部干扰且不被误用。封装的目的在于使对象的设计者和使用者分开,使用者不必知道对象行为实现的细节,只需要使用设计者提供的接口访问对象。

3.1.1、封装的好处:(1)模块化:代码的编写和维护可以独立进行,不会影响其他模块,而且有很好的重用性;

                 (2)数据隐藏:提高了数据的安全性。

3.2、继承:继承是面向对象程序设计中两个类之间的一种关系,是一个类可以继承另一个类的状态和行为。被继承的类称为父类,继承父类的类称为子类。一个父类可以同时拥有多个子类,但是一个子类只能继承一个父类。每一个子类除了从父类继承父类的变量和方法外,也可以添加自己的变量和方法。

  继承的好处:使父类代码得到重用,节省一些代码的编写工作,提高编程效率。

3.3、多态:多态性可以用“一个对外接口,多个内在实现方法”来表示。即在一个中可以定义多个同名,但参数的类型或者个数不同的方法,程序在调用方法时,系统会自动根据参数类型和个数调用不同的方法。这种机制称为方法的重载。此外,当利用继承由父类创建子类时,可以重新定义父类中的某些方法,这被称为覆盖。

  在Java中,通过方法覆盖和重载方法来实现程序的多态。
  面向对象(成员变量和局部变量的区别)(掌握)

A:在类中的位置不同
	成员变量:在类中方法外
	局部变量:在方法定义中或者方法声明上
B:在内存中的位置不同
	成员变量:在堆内存
	局部变量:在栈内存
C:生命周期不同
	成员变量:随着对象的创建而存在,随着对象的消失而消失
	局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
D:初始化值不同
	成员变量:有默认初始化值
	局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
	
注意事项::	局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

面向对象(方法的形式参数是类名的时候如何调用)(掌握)

A:Java中参数传递问题
	形式参数
		基本类型:形式参数的改变不影响实际参数
		引用类型:形式参数的改变直接影响实际参数
B:方法的参数是类名
	如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。

面向对象(匿名对象的概述和应用)

A:什么是匿名对象
	就是没有名字的对象
B:匿名对象应用场景
	a:调用方法,仅仅只调用一次的时候。
	b:匿名对象可以作为实际参数传递
C:案例演示
	匿名对象应用场景

面向对象(private关键字的概述和特点)

A:private关键字特点
	a:是一个权限修饰符
	b:可以修饰成员变量和成员方法
	c:被其修饰的成员只能在本类中被访问
B:案例演示
	private关键字特点

面向对象(private应用的标准案例)

A:private最常见的应用:
	(1):把成员变量用private修饰
	(2):提供对应的getXxx()和setXxx()方法
B:案例演示
	演示使用封装来完善我们的学生类

面向对象(构造方法概述和格式)

A:构造方法概述和作用
	创建对象,给对象中的成员进行初始化
B:构造方法格式特点
	a:方法名与类名相同
	b:没有返回值类型,连void都没有
	c:没有具体的返回值

面向对象(构造方法的重载及注意事项)
A:案例演示
构造方法的重载
B:构造方法注意事项
a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
b:如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
注意:这个时候,如果我们还想使用无参构造方法,就必须自己给出。建议永远自己给出无参构造方法
C:给成员变量赋值的两种方式
a:setXxx()方法
b:构造方法

面向对象(一个标准学生类的代码及测试)

A:案例演示
	完善一下我们的学生的类
B:给成员变量赋值:
	a:setXxx()方法
	b:构造方法
C:输出成员变量值的方式:
	a:通过getXxx()分别获取然后拼接
	b:通过调用show()方法搞定

定义方法

在这里插入图片描述

测试类调用方法

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值