2018-05-18 第十二天

简介: 一、Eclipse日食 是IBM使用纯java开发的一个主要用于java应用程序开发的一个集成开发环境IDE。可以帮助我们快速的开发java 项目。 bug虫子。在软件行业中的bug 就是程序中的错误。

一、 Eclipse日食

IBM使用纯java开发的,一个主要用于java应用程序开发的,一个集成开发环境(IDE)。可以帮助我们快速的开发java 项目。

bug:虫子。在软件行业中的bug 就是程序中的错误。

debug:调试错误、解决错误的过程。

 

二、 面向对象

还有两天就是520了,快给自己new 一个对象吧 = =

 

面向对象和面向过程不是矛盾的。面向对象的过程中包含了面向过程。

 

(一) 面向过程:

面向过程的软件的开发的基本思路:

将一问题按照过程,划分成若干个功能模块。然后按照过程的要求,将几个功能模块代码顺序执行。

可以大概的理解为是一个线性的执行的过程。

 

面向过程开发的问题:

1:软件规模越来越大,问题越来越复杂,那么使用线性的思维模式,去解决难度越来越大,复杂程度越来越高。后期维护也比较困难。

2:代码的复用性很差。

 

(二) 面向对象:

需求:大象装冰箱

 

面向过程的方式:

1:把冰箱门打开

2:把大象装进去

3:把冰箱门带上

 

面向对象的编程思维:

1:分析:分析需求中包含了几个对象?

结果:2个对象  大象  和  冰箱。

找对象:名词分析法。

 

2:继续分析:

对象 具有 什么样的功能 属性 就可以解决我们的需求!

冰箱需要的功能:会开门,关门。

大象需要的功能:会钻冰箱。

确定对象的功能+属性

 

3:如何去创建具有指定(分析而来的)功能和属性的对象?

1:需要使用java 代码先去描述具有指定功能和属性的对象。描述完毕之后才能创建具有指定功能的对象。

2:如何描述具有指定功能的对象??

   使用类来描述:类就是用来描述具有指定功能对象的。

3:创建2个类,一个描述大象的类,一个描述冰箱的类。

描述对象通过类。

 

4:如何使用描述对象的 类 去创建 对象。

//创建冰箱

Fridge fridge = new Fridge();

//创建大象

        Elephant elephant = new Elephant();

创建对象

 

   5:使用创建的对象去完成需要的功能即可。

//让创建的对象去执行他们具有的功能完成最后的需求

fridge.openDoor();

elephant.enterFridge();

fridge.closeDoor();

对象执行自己的功能

 

例:

/**

 * 使用面向过程的方式去解决大象装冰箱

 * @author 

 *

 */

public class TestProcess {

 

public static void main(String[] args) {

openFridgeDoor();

elephantInFridge();

closeFridgeDoor();

}

//功能模块1

public static void openFridgeDoor(){

System.out.println("冰箱门被打开了!");

}

//功能模块2

public static void elephantInFridge(){

System.out.println("大象钻进了冰箱!");

}

 

//功能 模块3

public static void closeFridgeDoor(){

System.out.println("冰箱门被关上了!");

}

}

 

 

/**

 * 使用面向对象的思维方式解决大象装冰箱!

 * @author 

 */

public class TestElephantAndFridge {

public static void main(String[] args) {

//创建冰箱

//创建了一个具有开门和关门功能的冰箱对象

Fridge fridge = new Fridge();

fridge.capacity = 30;

fridge.name = "海尔";

//创建大象

Elephant elephant = new Elephant();

elephant.size = 50;

elephant.name = "艾利";//P优优。

//让创建的对象去执行他们具有的功能完成最后的需求

fridge.openDoor();

elephant.enterFridge(fridge);

fridge.closeDoor();

}

}

//创建一个描述冰箱的类

//Fridge 这个类 描述了一种类型 ,这种类型的对象 具有开门和关门的功能。

class Fridge{

//冰箱容积的属性

int capacity;

String name;

//所有对冰箱的描述都要在 类的大括号中进行,类体中进行

//开门 

void openDoor(){

System.out.println(name + "\t冰箱门打开了!");

}

//关门

void closeDoor(){

System.out.println(name + "\t冰箱门关上了!");

}

}

//创建一个描述大象的类

class Elephant{

//大象体积的属性

int size;

String name;

//钻冰箱的功能  

//大象在使用这个功能的时候,需要外部提供一个冰箱。提供一个会开门和关门的冰箱。

void enterFridge(Fridge fridge){

if(size <= fridge.capacity){

System.out.println(name + "\t一头纤细的大象钻到了冰箱里面!");

}else{

System.out.println(name + "\t大象大象,你该减肥了!");

System.out.println(name + "\t大象:健康就好,胖瘦总相宜!");

}

}

}

 

三、


概念:类是对对象的抽象描述。

对象:类的一个具体的实例。

 

类:树-->一种类型,有树干,有树叶。

对象:门口的那棵树:树这种类型中的一个具体的实例。

 

类的语法:

[类的各种修饰符 public]  class 类名{

//类体  功能 + 属性

}

 

功能:方法。

作用:实现了某些功能、修改对象的属性。

属性:java 支持的任意类型的变量的声明语法。

例子:int size;

String name;

 

1

使用面向对象的方式描述 农夫与蛇

1:找对象:蛇、农夫

 

2:确定对象的属性和功能

功能:

蛇:苏醒、咬人

农夫:救蛇  死亡

 

3:创建类描述对象。

class Farmer{}

class Snake{}

 

4: 通过类创建对象。

 

5:让对象去执行对应的功能。

 

public class TestFarmerAndSnake {

 

public static void main(String[] args) {

//创建对象

Farmer farmer = new Farmer();

Snake snake = new Snake();

farmer.save(snake);

snake.attack(farmer);

}

}

 

//创建Farmer 类来描述农夫

class Farmer{

void save(Snake snake){

System.out.println("农夫救了一条冻僵的蛇!");

snake.awake();

// snake.attack(farmer);

}

void die(){

System.out.println("农夫死亡了!");

}

}

 

class Snake{

void awake(){

System.out.println("冻僵的蛇苏醒了!");

}

void attack(Farmer farmer){

System.out.println("蛇攻击了农夫!");

farmer.die();

}

}

 

2:树的生长

 

public class TestTree {

 

public static void main(String[] args) {

Tree tree = new Tree();

tree.age = 1;

tree.height = 20;

tree.show();

//生长 十年

for(int i=0;i<10;i++){

tree.grow();

}

tree.show();

}

}

 

//树的功能:grow  属性:height  age

class Tree{

int height;

int age;

// 方法被执行一次,代表 树生长了一年

void grow(){

age++;

height += 10;

}

//展示树的属性  方便展示获得树的属性的信息,

void show(){

System.out.println("age = "+ age + "\theight = "+height);

}

}

 

四、 类和对象的比较

概念:

类:对指定功能的对象的抽象的描述。

对象:类的一个具体的实例。

 

类和对象的关系:

类是描述对象的。

对象是类的一个具体的实例。

 

思考:先有对象还是先有类?

1:从分析的过程考虑:先有对象,然后在定义类来描述对象。(精神层面)。

2:从编码的角度:先定义类,然后通过类创建对象。

3:现实世界:先认识对象,然后将同类型的对象归纳为了一类事

 

类:模版

对象:通过模版创建的各种对象。

 

类:比作一张图纸。

对象:通过图纸创建的一个具体的建筑。

 

面向对象如何实现需求:创建具有各种功能的对象,通过对象之间的相互作用实现最终的需求。

 

 

 

目录
相关文章
|
Python
【端午趣味征文】有vcs和python吗?来,我教你在波形里画个粽子!
【端午趣味征文】有vcs和python吗?来,我教你在波形里画个粽子!
星际争霸之小霸王之小蜜蜂(十二)--猫有九条命
星际争霸之小霸王之小蜜蜂(十二)--猫有九条命
星际争霸之小霸王之小蜜蜂(十七)--究极体
星际争霸之小霸王之小蜜蜂(十七)--究极体
|
测试技术
|
编译器 C++
【C++系列P7】模板搞不懂?脑阔抖三抖!!精讲一篇过!
【C++系列P7】模板搞不懂?脑阔抖三抖!!精讲一篇过!
|
JavaScript 容器
怒砸 30w+ 矿石抽礼盒后,我通透了...【 幸运大转盘Vue3版】
前言 大家好,我是HoMeTown。 中秋节快到了,掘金社区一如既往十分贴心的在这种有意义节日里推出了社区周边的礼盒,像之前的端午粽子礼盒,这次推出了中秋月饼礼盒。
175 0
|
数据采集 机器学习/深度学习 运维
玩吧|学习笔记
快速学习玩吧
玩吧|学习笔记
|
机器学习/深度学习 算法
每日一题冲刺大厂第十二天 杂物
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题提高组是为了有余力的同学准备的,让大家练到各种各样的题目,一年以后,蜕变成为一个不一样的自己!
109 0
|
JavaScript 前端开发 中间件
好记性不如烂笔头——Redux篇
好记性不如烂笔头——Redux篇
好记性不如烂笔头——Redux篇
好记性不如烂笔头——Vuex篇
好记性不如烂笔头——Vuex篇
好记性不如烂笔头——Vuex篇
下一篇
无影云桌面