java 面向对象
2016-11-24 21:24
190 查看
面向对象:是一种编程思想,面向的对象是人类,这种思想试图完整的模拟我们的世界,为我们解决问题,创建对象的目的不是为了完成一个步骤,而是解决的是整个群体的行为。永远是先有群体再有个体。
面向过程:面向的是计算机。因为计算机没有人类那么灵活,所以面向过程只能分析出解决问题的步骤,然后用函数依次把这些步骤实现。
例如:大象装进冰箱。
面向过程首先是分析问题:
(1)大象
(2)装载
(3)冰箱
按照这样的步骤,用函数依次的实现,就把问题解决了。
面向对象就是:分别创建一个大象群体(大象群体能移动)和一个冰箱群体(冰箱群体能装入东西),然后用大象群体和冰箱群体实例化出一个个体(也就是对象),这些个体就具有了群体的行为。
群体 等价于 类型 等价于类
等价于class
由群体实例化出来的个体 等价于实例
等价于对象
等价于object
一个群体 有什么 (名词:属性)
(专有名词:成员变量)
能做什么 (名词:功能)
(专有名词:方法)
面向对象具有封装的特性。
封装是将一类事物的成员变量和方法构建在一起的过程。
例题:
/*编写两个类Human和Dog,Human类包含【散步】和【打】两个功能、Dog包含【咬】和【跑】两个功能。
要求:分别创建两个具体的实例:张三和大黄、完成下面的程序
(1)张三在散步
(2)大黄咬了张三
(3)张三打了大黄
(4)大黄跑了*/
package com.hzyc.lesson03.homework;
class Human/*类*/{
String name;//成员变量
void hang(){//方法
System.out.println(name+"在散步");
}
void hit(Dog d){
System.out.println(name+"打了"+d.name);
}
}
class Dog/*类*/{
String name;//成员变量
void run(){//方法
System.out.println(name+"跑了");
}
void bite(Human h){//方法
System.out.println(name+"咬了"+h.name);
}
}
public class H2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Human H = new Human();
Dog D = new Dog();
H.name = "张三";
H.hang();
D.name = "大黄";
D.bite(H);
H.hit(D);
D.run();
}
}
面向过程:面向的是计算机。因为计算机没有人类那么灵活,所以面向过程只能分析出解决问题的步骤,然后用函数依次把这些步骤实现。
例如:大象装进冰箱。
面向过程首先是分析问题:
(1)大象
(2)装载
(3)冰箱
按照这样的步骤,用函数依次的实现,就把问题解决了。
面向对象就是:分别创建一个大象群体(大象群体能移动)和一个冰箱群体(冰箱群体能装入东西),然后用大象群体和冰箱群体实例化出一个个体(也就是对象),这些个体就具有了群体的行为。
群体 等价于 类型 等价于类
等价于class
由群体实例化出来的个体 等价于实例
等价于对象
等价于object
一个群体 有什么 (名词:属性)
(专有名词:成员变量)
能做什么 (名词:功能)
(专有名词:方法)
面向对象具有封装的特性。
封装是将一类事物的成员变量和方法构建在一起的过程。
例题:
/*编写两个类Human和Dog,Human类包含【散步】和【打】两个功能、Dog包含【咬】和【跑】两个功能。
要求:分别创建两个具体的实例:张三和大黄、完成下面的程序
(1)张三在散步
(2)大黄咬了张三
(3)张三打了大黄
(4)大黄跑了*/
package com.hzyc.lesson03.homework;
class Human/*类*/{
String name;//成员变量
void hang(){//方法
System.out.println(name+"在散步");
}
void hit(Dog d){
System.out.println(name+"打了"+d.name);
}
}
class Dog/*类*/{
String name;//成员变量
void run(){//方法
System.out.println(name+"跑了");
}
void bite(Human h){//方法
System.out.println(name+"咬了"+h.name);
}
}
public class H2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Human H = new Human();
Dog D = new Dog();
H.name = "张三";
H.hang();
D.name = "大黄";
D.bite(H);
H.hit(D);
D.run();
}
}
相关文章推荐
- Java面向对象基础要点
- JAVA学习笔记(二)-面向对象程序设计
- java和c++在面向对象上有什么区别?
- Java三个月 - 面向对象程序设计OOP的乐趣 - 程序人生
- 深入Java面向对象预备篇(3.研究数组)
- 面向对象思想 - 关于对象(材料来自thinking in Java,这些东西是跟C#相通的,跟语言无关)
- 面向对象程序设计--C++/Java
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- Java三个月 - 面向对象程序设计OOP的乐趣 - 程序人生
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- 面向Java开发人员的Ajax:Ajax的Java对象序列化
- JAVA-面向对象的程序设计
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列
- Java面向对象继承与组合的问题
- 今天开始重温Java:1.面向对象
- 面向 Java 开发人员的 Ajax: Ajax 的 Java 对象序列化---在 Ajax 应用程序中序列化数据的五种途径
- java 面向对象程序设计浅谈一
- Java语言面向对象特性详解
- 有关JAVA的面向对象程序设计方法较全面介绍的一本书
- java里一段对面向对象和面向过程的解释