/*编程思想
在写代码前首先要做的事情是分析问题,然后写出步骤。最后是写代码,按照步骤进行填写代码。
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();
}
}