一个走过太多坑的老弟对面向对象知识的总结:世上无难事,有的真不行

/*编程思想
在写代码前首先要做的事情是分析问题,然后写出步骤。最后是写代码,按照步骤进行填写代码。
1.问题
2.分析
3.步骤
4.代码
/
//当你在开发过程遇到多次使用同一功能时要看看前面是否有问题及时修正,以便优化代码。
//为了提高代码的复用性,将功能封装在类里,从整体到细节思考。
//面向过程:不断的使用函数。
//面向对象:将所有的功能进行封装,面对的是功能的对象,基于面向过程。
//开发要先找对象按功能,利用面向对象。
/

差异(面向对象的好处):
1.面向对象更符合人们习惯的思考方式。
2.面向过程体现的是执行者,面向对象体现的是使用者,调用对象做事情。
3.面向对象将复杂问题简单化。
《Thinking In Java》有:万物皆对象。

面试的时候:
首先阐述三个好处。
然后具体化,举例:
结合面试环境,摄像头、水杯、电脑也是对象,它们有各自的功能,我们调用它们的不同功能来完成事情。
其实面试官您本身就是用面向对象的思想思考问题,面试官您已经具备了开发能力,本身就可以开发项目,但由于项目本身较大,一个人开发周期长,
为了提高效率,需要更多具备专业开发能力的人来帮助完成,这些人就是你要的对象,你只需调用这些对象的开发功能就可以
完成项目。

*/

/*
面向对象如何应用到需求里去?
在需求里尽量寻找对象(从问题里抽取对象)。
一般思考方式:名词大多数是对象。
需求:将大象装进冰箱里。
对象:大象、冰箱。
步骤:
1.打开冰箱
2.将大象装进去
3.关闭冰箱
冰箱{
打开(){

}
存储(大象){}
关闭(){}

}
大象{

}

/
/

class day1{
public static void main(String[] args) {
int []arr={11,13,45,96};
int maxValuae=getValuale.getMax(arr);
int minValuae=getValuale.getMin(arr);
System.out.println(“最大值:”+maxValuae+"\n最小值:"+minValuae);
}
}
class getValuale{
static int getMax(int []arr){
int maxValuae=arr[0];
for(int i=1;i<arr.length;i++){
if(arr[i]>maxValuae){
maxValuae=arr[i];
}
}
return maxValuae;
}
static int getMin(int []arr){
int minValuae=arr[0];
for(int i=1;i<arr.length;i++){
if(arr[i]<minValuae){
minValuae=arr[i];
}
}
return minValuae;
}
static void getBinaryValuale(){

		}

}

*/

/*
将面向对象落实到代码上。
描述小汽车:
分析:
事物的属性:颜色,轮胎个数。
事物的行为:开动。
发现:事物其实是由属性和行为组成的,属性是数值,就是变量;行为就是方法,就是功能。
Java是通过类来描述事物的。

类与对象的关系:
类:对事物的描述,需要体现事物的属性和行为。
对象:事物的实体,通过调用该对象的属性和功能。

成员变量和局部变量的区别:
区别一:定义的位置不同。
局部变量定义成方法和语句中。
成员变量定义在类中。
区别二:在内存中的位置不同。
成员变量存储在堆内存类中。
局部变量存储在栈内存方法中。
区别三:生命周期不同。
局部变量随着方法的出现而出现,随着方法的消失而消失。
成员变量随着对象的出现而出现,随着对象的消失而消失。
区别四:初始化不同。
成员变量默认初始化值。
局部变量初始化才能用。

*/
class Car{
int num;
String color;
void run(){
System.out.println(color+":"+num);
}
}
class day1{
public static void main(String[] args) {
Car car=new Car();
car.color=“Blue”;
car.num=4;
car.run();
}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭示世界本质的「机器科学家」,比深度神经网络还强?

来源&#xff1a;AI科技评论作者&#xff1a;Charlie Wood编译&#xff1a;王玥、刘冰一编辑&#xff1a;陈彩娴我们正处于“GoPro 物理学”的风口浪尖。无论摄像机聚焦于什么事件&#xff0c;算法都可以识别其中潜在的物理方程。2017 年&#xff0c;西北大学化学与生物工程系的…

小白学JAVA,与你们感同身受,JAVA---day5:关于多态的理解和分析。鲁迅的一句话:总之岁月漫长,然而值得等待。

鲁迅的一句话:总之岁月漫长,然而值得等待。 至于是不是他说的&#xff0c;就看大家的了。 /* 多态:事物存在的多种形态。 多态的前提: 1.要有继承关系。 2.要有方法的重写。 3.要有父类引用指向子类对象。 向上转型和向下转型: 1.父类引用指向子类对象 向上转型。由小变大…

AI 与合成生物学「联姻」的五大挑战:技术、数据、算法、评估与社会学

来源&#xff1a;ACM通讯编译&#xff1a;王玥编辑&#xff1a;陈彩娴在过去的二十年里&#xff0c;生物学发生了翻天覆地的变化&#xff0c;建立在生物系统上的工程成为了可能。赋予了我们细胞遗传密码&#xff08;DNA&#xff09;排序能力的基因组革命是这一巨大变化的主要推…

物理学家:时间旅行有可能实现,但前提是……

来源&#xff1a;机器之心作者&#xff1a;Barak Shoshany原文链接&#xff1a;https://phys.org/news/2022-04-parallel-timelines.html时间旅行是科幻电影、小说中经久不衰的话题&#xff0c;然而直到现在&#xff0c;我们依然无法确定这种幻想是否可行。在这篇文章中&#x…

二叉树----数据结构:二叉树的三种遍历及习题

二叉树----数据结构:二叉树的三种遍历,利用递归算法。 关于二叉树的遍历&#xff0c;应用非常广泛&#xff0c;不单单是访问打印结点&#xff0c;还可以进行一系列的操作&#xff0c;如赋值、删除、查找、求二叉树的深度等等。 有递归和非递归两种算法&#xff0c;非递归用到了…

小白学JAVA,与你们感同身受,JAVA---day6:抽象类接口的理解。鲁迅的一句话:总之岁月漫长,然而值得等待。

抽象类接口的理解 鲁迅的一句话:总之岁月漫长,然而值得等待。 /* 抽象类中的面试题: 1.一个抽象类中可不可以没有抽象方法:可以,这样做的目的只有一个,就是不让其他类创建本类对象交给子类完成。 2.abstract关键字不能和哪些关键字共存: static final private 接口的概述…

谷歌硬件主管:AR眼镜还在开发,环境计算是未来目标

来源&#xff1a;网易智能5月13日消息&#xff0c;谷歌硬件主管里克奥斯特洛 (Rick Osterloh)日前在接受采访时表示&#xff0c;“环境计算”是谷歌未来的目标和愿景。奥斯特洛周三在接受采访时表示&#xff1a;“计算应该能够无缝帮助你解决任何问题&#xff0c;而且就在你身边…

一个牛人给JAVA初学者的建议。虽然岁月漫长,但仍值得等待

给初学者之一&#xff1a;浅谈java及应用 学java不知不觉也已经三年了 从不知java为何物到现在一个小小的j2ee项目经理 虽说不上此道高手&#xff0c;大概也算有点斤两了吧 每次上网&#xff0c;泡bbs逛论坛&#xff0c;没少去java相关的版面 总体感觉初学者多&#xff0c…

大脑衰老可逆转,只需注入年轻脑脊液,「返老还童」登Nature

来源&#xff1a;FUTURE远见 选编&#xff1a;闵青云 「老喽&#xff0c;记不住喽。」随着年龄的不断增长&#xff0c;不少人都会发出这样的感叹——记忆力逐渐下降。那么是否存在一种方法&#xff0c;可以让这种自然现象「逆天改命」呢&#xff1f;Nature说&#xff1a;有的。…

人工智能在苍蝇眼的帮助下监测无人机:新的仿生算法从噪声中提取信号

来源&#xff1a;国际仿生工程学会2018年12月&#xff0c;由于有报道称附近有无人机飞行&#xff0c;数千名度假旅客被困在伦敦盖特威克机场。导致这个欧洲非常繁忙的机场关闭了两天&#xff0c;造成重大延误&#xff0c;并使航空公司损失了数百万美元。商业空域中未经授权的无…

树的知识点总结-数据结构

** 一&#xff1a;树的基本术语 1.定义 树是一种非线性结构&#xff0c;只有一个根结点&#xff0c;除根结点外每个孩子结点可以有多个后继&#xff0c;没有后继的结点叫叶子结点。 2.概念 根结点&#xff1a;没有前驱&#xff1b; 孩子&#xff1a;有前驱的结点&#xff1b;…

NLP预训练范式大一统,不再纠结下游任务类型,谷歌这个新框架刷新50个SOTA

来源&#xff1a;机器之心编辑&#xff1a;张倩、小舟在这篇论文中&#xff0c;来自谷歌的研究者提出了一种统一各种预训练范式的预训练策略&#xff0c;这种策略不受模型架构以及下游任务类型影响&#xff0c;在 50 项 NLP 任务中实现了 SOTA 结果。当前&#xff0c;NLP 研究人…

赫夫曼树编码的算法及应用习题--数据结构

赫夫曼树编码的算法及应用习题 1.构造赫夫曼树的方法 1.根据给定的n个权值{w1,w2,---wn},构成n棵二叉树的集合F{T1,T2...,Tn}&#xff0c;其中每棵二叉树中只有一个带权为Wi的根结点&#xff0c;其左右子树为空。 2.在F中选取两棵根结点的权值最小的树作为左右子树&#xff…

吴咏时:未来基础学科发展的“铁三角”

来源&#xff1a; 节选自《物理》2022年第5期《圆桌论坛&#xff1a;对21世纪物理学的愿景展望》。2021年9月&#xff0c;在清华大学举行“庆祝杨振宁先生百年华诞思想研讨会”圆桌论坛环节上&#xff0c;美国犹他大学教授吴咏时对今后基础物理学做了一番展望。他指出了基础物理…

树的叶子结点与完全二叉树结点计算方法

一&#xff1a;完全二叉树中结点问题 分析&#xff1a; 设叶子节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2 侧有 n0n1n2n (1) 对于二叉树有&#xff1a; n0n21 (2) 由(1)(2) > n0(n1-n1)/2 (3) 由完全二叉树…

图的知识点总结-数据结构

一&#xff1a;图的基本概念和术语 1.图之间的关系可以是任意的&#xff0c;任意两个数据元素之间都可能相关。 2.顶点&#xff1a;数据元素。 3.边or弧&#xff1a;从一个顶点到另一个顶点的路径。<V, W>表示弧&#xff0c;&#xff08;V,W&#xff09;表示边&#x…

当物理学遇到机器学习:基于物理知识的机器学习综述

来源&#xff1a;集智俱乐部作者&#xff1a;潘佳栋 审校&#xff1a;梁金编辑&#xff1a;邓一雪摘要物理信息机器学习&#xff08;Physics-informed machine learning&#xff0c;PIML&#xff09;&#xff0c;指的是将物理学的先验知识&#xff08;历史上自然现象和人类行为…

图的遍历——深度优先搜索+广度优先搜索

一&#xff1a;图的遍历——深度优先搜索 在本文其他内容中只是大体概括了主要的图论内容&#xff0c;更加详细的代码实现及算法分析在此给出。 深度优先搜索&#xff08;DFS&#xff09;类似树的先序遍历。 假设初始状态是图中所有顶点未曾被访问&#xff0c;则深度优先搜索…

RISC-V何以成功?

来源&#xff1a;AI前线作者&#xff1a;BRIAN BAILEY译者&#xff1a;王强策划&#xff1a;刘燕RISC-V 处理器架构的诞生毫无疑问让很多人都为之兴奋不已。然而&#xff0c;尽管许多人都说 RISC-V 预示着我们将迎来更广泛的开源硬件运动&#xff0c;但这种架构究竟为什么取得成…

最小生成树——普里姆算法和克鲁斯卡尔算法

最小生成树 用来解决工程中的代价问题。 一&#xff1a;普里姆算法 具体代码用C语言实现如下&#xff1a; typedef int VRType;typedef char InfoType;#define MAX_NAME 3 /* 顶点字符串的最大长度1 */#define MAX_INFO 20 /* 相关信息字符串的最大长度1 */typedef char Vert…