| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 面向对象01(java) -> 正文阅读 |
|
[Java知识库]面向对象01(java) |
1.面向过程和面向对象的区别 【1】面向过程:当时间比较简单的时候,利用面向过程,注重的是事件的具体的步骤/过程,注重的是过程中具体的行为,以函数为具体的单位。(怎么做) 【2】面向对象:注重找“参与者”,将其功能封装进对象,强调了具备功能的对象,以类或对象为最小单位。(谁来做) eg: 用洗衣机洗衣服 函数1:打开洗衣机(){人站在洗衣机前,打开洗衣机门,衣服放进去.......} 函数2:开始洗衣服(){倒入洗衣液,按好开关,洗衣机开始运转......} 函数3:关闭洗衣机(){人站在洗衣机前,打开洗衣机门,衣服拿出来......} 面向对象: 人{ 打开(洗衣机){ ? ? ? ? 洗衣机.打开(); ?} 存储(衣服){ ? ? ? ? 衣服.进入(); } 关闭(洗衣机){ ? ? ? ? 洗衣机.关闭(); } } 洗衣机{ 打开(){} 关闭(){} } 衣服{ ? 进入(洗衣机){} } } 面向过程 ------>面向对象,其实就是由执行者------>指挥者的 一个过渡 (二者相辅相成,并不是对立的。解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间复杂的关系,方便我们分析整个系统:具体到微观操作,仍然使用面向过程方式来处理) (面向对象三大优点:封装,继承,多态) 2.类和对象 【1】类:对对象向上抽取出像的部分,公共的部分,形成类,类是抽象的,是一个模板 【2】对象:具体的事物,具体的实体,具体的实例,模板下具体的产品 【3】写代码的时候,一般都是先写类,然后再根据类创建对应的对象。 3.面向对象的三个阶段: 【1】面向对象分析OOA? ------>Object Oriented Analysis eg:对象(你,我,他) 抽取出一个类 -----> 人类 类里面有什么: 动词 ---> 动态特性 ---> 方法 名词 ---> 静态特性 ---> 属性 【2】面向对象设计OOD? ------->Object Oriented Design eg: (先有类,再有对象) 类:人类:Person 对象:you , I , he 【3】面向对象编程OOP? ------->Object Oriented Programming 4.创建 【1】创建类 (1)属性(field 成员变量) 属性用于定义该类或该类成员变量包含的数据或者说静态特征。属性作用范围是整个类体。 属性定义格式: [修饰符] 属性类型 属性名 = [默认值] ; (2)方法 方法用于定义该类或该类的行为特征和功能实现。方法是类和对象行为特征的抽象,方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。面向对象中,整个程序的基本单位是类,方法从属于类和对象。 方法定义格式: [修饰符] 方法返回值类型 方法名 (形参列表){ ? ? ? ?//n条语句 } void代表没有返回值;方法的作用:重用代码,封装功能,便于修改 代码:
【2】创建对象 代码:
5.局部变量和成员变量的区别 【1】区别1:代码中位置不同 ? ? ? ? ? ? ? ? 成员变量:类中方法外定义的变量 ? ? ? ? ? ? ? ? 局部变量:方法中定义的变量? ?代码块中定义的变量 【2】区别2:代码的作用范围 ? ? ? ? ? ? ? ? 成员变量:当前类的很多方法 ? ? ? ? ? ? ? ? 局部变量:当前一个方法(当前代码块) 【3】区别3:是否有默认值 ? ? ? ? ? ? ? ? 成员变量:有 ? ? ? ? ? ? ? ? 局部变量:没有 【4】区别4:是否要初始化 ? ? ? ? ? ? ? ? 成员变量:不需要,不建议初始化,需要赋值赋值即可 ? ? ? ? ? ? ? ? 局部变量:一定需要,不赋值就报错 【5】区别5:内存中位置不同 ? ? ? ? ? ? ? ? 成员变量:堆内存 ? ? ? ? ? ? ? ? 局部变量:?栈内存 【6】区别6:作用时间不同 ? ? ? ? ? ? ? ? 成员变量:当前对象从创建到销毁 ? ? ? ? ? ? ? ? 局部变量:当前方法从开始执行到执行完毕 (代码)
??运行结果: ? 5.构造器 【1】构造器的格式: [修饰符] 构造器的名字 (){ }? 【2】构造器和方法的区别: (1)没有方法的返回值类型 (2)方法体内部不能有return语句 (3)构造器名字特殊,和类名一样 【3】构造器的作用: 不是为了创建对象,调用构造器之前,对象已经创建好了,属性有默认的初始化值 【4】调用构造器目的:为属性进行赋值操作 (注意:一般不会在构造器中进行初始化操作,那样每个对象的属性就一样了) (代码插入)
构造器的重载:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:05:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |