面向对象基础学习

面向对象基础学习

1、面向对象概念:

面向对象是相对于面向过程来讲的,指的是把 相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模, 更贴近事物的自然运行模式。(面向实体)

面向过程到面向对象思想层面的转变:

面向过程关注的是执行的过程,而面向对象关注的是具备功能的对象,注重整体的框架。
从面向过程到面向对象,是程序员思想上 从执行者到指挥者的转变。

三大思想:AAA、OOD、OOP
三大特征:封装、继承、多态

封装:就是把类的内部与外界隔离起来,实现数据和方法的隐藏,防止类的代码和数据被外部类定义的代码随机访问。
继承: 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。提高代码的复用性。
多态:子类拥有多种形态,这就是多态的表现。继承是多态的条件之一。
多态的体现主要有两个方面:1、方法的重载和重写。2、对象的多态性。

a)对象向上转型:子类转为父类
b)对象向下转型:父类转为子类

封装性:所有的内容对外部不可见
继承性:将其他的功能继承下来继续发展
多态性:方法的重载本身就是一个多态性的体现

2、类与对象

类:共性的产物、综合的特征
对象:个性的产物、个性的特征
类:由属性和方法组成。
		属性:人的一个个特征,变量
		方法:人的行为

3、类与对象的创建

创建类的格式:

class 类名{
		成员属性;
		成员方法;
		 }
class Person{
//属性 - 特征
	String name;
	int age;
	char sex;

//方法 - 行为
定义格式:
返回值类型 方法名称(形式参数列表){
        方法体;
        return 返回值;
    } 
    
	int sum(int x,int y) {
		int z = x+y;
		return z;
	}

// 调用格式:
	对象名.方法名称(实际参数列表);
	p.sum(100, 200);
void xxx() {
		if(true) {
		return;
		}
		System.out.println("哈哈");
	}
说明:无参时的return语句表示if条件满足,直接结束该方法。

补充:
Book b1 = new Book();
b1.name = “金苹果”;
b1.info = “讲述了果 农辛勤种植金苹果的过程。”;
Book b2 = b1;
上例中Book b2 = b1;不是复制,而是相当于给b1重新起了一个名字b2.

4、栈 与 堆

栈存储的是:
	基本数据类型的数据 以及 引用数据类型的引用
堆存储的是:
	存放的是类的对象
垃圾回收器 回收堆内存的规则:
	当栈内存中不存在此对象的引用时,则视其为垃圾,等待垃圾回收器回收 .

内存解释图

5、重载

一个类中定义的方法, 是允许重载 (相同的方法名称)

 1、方法名称相同
 2、参数列表长度  或 参数列表类型 或 (参数类型顺序不同)
 注意: 与返回值类型无关

面向对象基础学习(二)
https://editor.csdn.net/md/?articleId=108487120
面向对象基础学习(三)
https://editor.csdn.net/md/?articleId=108514360

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值