+ 首页>>技能>>快速科普>>内容

技能[测试人也Code]OOP核心思想和概念(一)500+次围观

面向对象编程(OOP)是把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。OOP过程中,开发者的主要任务就是先建立模拟问题领域的对象模型,然后通过程序代码来实现对象模型。

1、问题领域、对象、属性、状态、行为、方法、实现

问题领域是指软件系统所模拟的真实世界中的系统。对象是对问题领域中事物的抽象,对象具有以下特性:

  • (1) 万物皆对象
  • (2) 每个对象都是唯一的
  • (3) 对象具有属性和方法
  • (4) 对象具有状态
  • (5) 对象都术语某个类

以下一段代码解释上述特性:

package com.kiven.com;
//OOP类
public class OOP {
	//属性
	String food,name;
	int age,weight;

	//行为,一般称作方法
	void eat(String food){

	}

	public static void main(String args[]){
		//对象属于某个类
		OOP o = new OOP();
		//对象的状态,即某个瞬间对象各个属性的取值
		o.food = "apple";
		o.name = "kiven";
		o.age = 12;
		o.weight = 110;
		//对象去做事情
		o.eat(o.food);
	}
}

2、类、类型

类是一组具有相同属性和行为的对象的抽象,类及类的关系构成了对象模型的主要内容。
对象模型用来模拟问题领域,java程序实现对象模型,java程序运行在java虚拟机提供的运行时环境中,java虚拟机运行在计算机上。

问题领域(事物)
|
| 模拟
|
对象模型(自定义类型)—student,teacher,lesson和classroom等对象类型
|
|实现
|
Java程序
|
|执行程序
|
JRE(执行程序)
|
|执行机器指令
|
计算机(内置数据类型)—int,long,float,double和char等基本类型

从对象模型中的类型到计算机的内置数据类型的映射

package com.kiven.com;

//Java用new来创建对象,new会调用对象的构造方法。
public class CellPhone{
     String type;
     String color;
     String price;

     public CellPhone(String type,String color,String price){
         this.type=type;
         this.color=color;
         this.price=price;
     }

    public void takePhoto(){

    }

    public void call(){

    }
    public void sendMessage(){

    }
    public void receiveMessage(){

    }

    public static void main(String args[]){
       CellPhone cp1 = new CellPhone("Moto","black","2888");
       CellPhone cp2 = new CellPhone("Nokia","red","500");
       cp1.call();
       cp2.call();
    }
}

3、消息、服务

软件系统的复杂功能是由各种对象协同工作来共同完成的。
每个对象都有具体特定的功能,相对与其他对象而言,它的功能就是为其他对象提供的服务。
对象提供的服务是由对象的方法来实现的,因此发送消息实际上也就是调用一个对象的方法。

4、接口

既然每个对象都是服务提供者,如何对外提供服务呢?对象通过接口对外提供服务。在java语言中,接口有两种意思:

  • 一是指概念性的接口,即指系统对外提供的所有服务,在兑现中变现为public类型的方法的声明
  • 二是指用interface关键字定义的实实在在的接口,也称为接口类型,它用于明确的描述系统对外提供的服务,它能够更加清晰的把系统的实现细节与接口分离

+ 猜你喜欢...

===== 关于 DiggerPlus =====
DiggerPlus是国内新锐测试人垂直内容博客,专注于挖掘测试工具,普及测试技术,专注于测试人能力提升,博客上线后就受到广大测试人的热烈追捧;此外,DiggerPlus深度整合评测资源,揭秘科技数据和真相,让读者更懂科技,更好地把玩科技。 我们始终保持"独立,客观,严谨,优秀"的优良作风,努力为读者带来源源不断的优质内容。想访问更多酷毙的测试人网站?赶紧来DiggerPlus测试人网址导航看看吧!

===== DiggerPlus Team =====
DiggerPlus Team是DiggerPlus官方发起的团队,这是一群热爱科技,热爱测试,喜欢深度挖掘的热血测试人,他们是评测师,测试专家。 我们欢迎优秀的测试人加入DiggerPlus Team。 加入DiggerPlus,可以成为我们的认证Dper,认证Dper拥有DiggerPlus独一无二的专栏并得到个人展示。

===== DiggerPlus 官方读者群 =====
DiggerPlus官方读者群(一)

+ 关于本文作者

我也很想让世界变得更美好,可是上帝却不开放源代码。

的专栏 | 专栏作者 | 访问Kiven的主页

+ 发表评论

Copyright © 2014 DiggerPlus. 89 queries in 1.503 seconds.
使用合作网站账号快速登录,更多精彩等着您: 开源中国