面向对象
思想:是基于面向过程的编程思想
特点:
A 是一种更符合我们思考习惯的思想
B 可以将复杂的事情简单化;
C 将我们从执行者变成了指挥者
面向过程
代表语言: C语言
:知道要做的过程,相互调用和协作,完成我们的思想
过程: 强调的是每一个功能的步骤
对象:强调的是对象,然后由对象去调用功能
学习编程语言:就是为了把现实世界中的事物模拟出来,实现信息化
如何表示现实世界的事物呢?
A 属性 就是事物的描述信息
B 行为 事物能够做什么
类 是一组相关的属性和行为的集合
成员变量----属性
成员方法-----行为
对象: 就是事物的具体体现
成员变量:和我们前面学习的变量的定义是一样的
A:位置不同: 类中,方法外
方法中或者方法声明上(形式参数)
B: 堆内存
栈内存
C 生命周期不同:
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
初始化值,不需要给初始化值
成员方法 和我们前面学习的方法定义是一样的;
去掉 static 关键字
创建对象:
格式: 类名 对象名=new 类名();
成员变量跟随对象进入堆内存
Private:提高代码的安全性(私有的意思)
封装:
是面向对象三大特征之一
变量都是隐藏在对象内部的,外界无法访问和修改的
原则:
不需要对外提供的内容都隐藏起来,
把属性隐藏,提供公共访问
好处:提高代码的复用性和安全性
This:
代表所在类的对象的引用
(此方法的调用者)
局部变量隐藏成员变量
构造方法:
给对象的数据进行初始化
格式:
方法名和类名相同
没有返回值,连void都不写
没有具体的返回值
类名 对象名=new 构造方法(…);
注意事项:
如果我们没有给出构造方法,系统会默认提供一个无参构造方法
如果我们给出了构造方法,系统将不再提供默认的无参构造方法给我们使用
推荐: 最好是由我们自己给出构造方法
构造方法也是可以重载的
成员变量赋值:
SetXxx()方法
带参构造方法
构造方法和set方法都可以给成员变量赋值
但是对于一个对象而言构造方法只能调用一次
但是set方法可以调用无数次
所以set方法可以用来给成员变量修改值
|
|