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:现实世界:先认识对象,然后将同类型的对象归纳为了一类事

 

类:模版

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

 

类:比作一张图纸。

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

 

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

 

 

 

目录
相关文章
|
3月前
|
数据安全/隐私保护 索引
HardSignin _ 入土为安的第十二天
HardSignin _ 入土为安的第十二天
17 0
|
6月前
|
JavaScript Java 关系型数据库
邮票鉴赏|基于SSM+vue的邮票鉴赏系统的设计与实现(源码+数据库+文档)
邮票鉴赏|基于SSM+vue的邮票鉴赏系统的设计与实现(源码+数据库+文档)
40 0
|
6月前
|
编解码
介绍几个有趣的网站(二十七)
介绍几个有趣的网站(二十七)
337 2
|
6月前
|
人工智能
介绍几个有趣的网站(二十八)
介绍几个有趣的网站(二十八)
117 2
|
存储 JSON 算法
一杯茶的时间入门Vue新的状态管理库-2
Pinia 插件 Pinia 生态已有许多插件,可以扩展更多功能: pinia-plugin-persistedstate:数据持久化 pinia-plugin-debounce:防抖修改状态 pinia-plugin-pinia-observable:转换成 Observable
110 0
|
6月前
|
存储 JSON JavaScript
一盏茶的时间,带你轻松上手Pinia
Pinia,让状态管理再无难题! 作为Vue.js官方推荐的新星级管理库,Pinia为开发者带来前所未有的顺滑体验。你还在为复杂难懂的状态管理代码头疼吗?别急,用Pinia你可以告别一切烦恼!
|
存储 JavaScript API
一杯茶的时间入门Vue新的状态管理库-1
Pinia 的优势 相比 Vuex,Pinia 有以下优点:
120 3
|
自然语言处理 算法 Python
没用Pandas快捷方法,硬核编程的我面试被拒
没用Pandas快捷方法,硬核编程的我面试被拒
|
JavaScript 容器
怒砸 30w+ 矿石抽礼盒后,我通透了...【 幸运大转盘Vue3版】
前言 大家好,我是HoMeTown。 中秋节快到了,掘金社区一如既往十分贴心的在这种有意义节日里推出了社区周边的礼盒,像之前的端午粽子礼盒,这次推出了中秋月饼礼盒。
174 0
|
前端开发 数据安全/隐私保护 开发者
项目第十二天内容介绍 | 学习笔记
快速学习 项目第十二天内容介绍
项目第十二天内容介绍 | 学习笔记