小解面向对象以及接口·继承·覆盖·重载的实现
面向对象:
面向对象编程(Object-oriented programming,简称OOP)早期是在上个世纪70年代盛行的结构化、基于过程的编程技术上的基础上发展成型的,经典再现从现实世界到虚拟世界再到现实世界的抽象化思维。
睁开眼(Object:Eye)看见天(Object:Sky)亮了,那是光(Object:Light),抬头(Object:Head)望望窗(Object:Window)外,太阳(Object:Sun)出来了...
这就是在面向对象!
下面我们来理解几个关于面向对象的概念:
单个对象
对象是用来模拟组成或影响实际问题的一个或一组元素,其中对象名是区别于其他对象的标志;
接口是对象在一定运行或消息传递结构下与外界通信的通道;
属性是对象当时的状态;
操作则是用来改变对象属性来达到某种特定功能的方式;
类是同种对象的集合和抽象,是抽象的数据类型;属于某个类的一个对象就是类的实例。
多个对象(包含、继承、关联)
包含是指一个对象是另一个对象的属性,比如宇宙包含太阳系,系包含了地球;
继承是指一个对象对另一个对象的扩展,除了被继承对象已有的属性和操作外,还可以加入新的定义,比如儿子继承了父亲和母亲的优点,同时自身也有自己的特点;
关联就是说一个对象中包含了另一个对象的引用,比如蝴蝶效应,连锁反应等等。
好了,理解了这一类的概念后,我们再回头看面向对象,所谓面向对象,实际上就是一中思想,一种思维,这种思想跟思维可以将现实世界虚拟化,再将虚拟世界现实化,这就好比艺术来源于生活,生活其实也就是艺术。一句话,对象之间产生的一切可能产生的关系就形成了面向对象的思想。
接口·继承 ·覆盖·重载的实现:
我们先看一段程序代码:
//定义接口
public interface Act{
void addAdd(int a,int b);
}
//实现接口
public class Add implement Act{
int a,b,c;
Public void addAdd(int a,int b){
c=a+b;
}
String ToString()
{
return "Hellow,你的运算结果是:"+c;
}
}
接口实际上就是一个抽象化的结构,它只需要告诉主程序需要做什么,实际上它什么也不做。
下面我们再来看继承·覆盖·重载的实现小程序:
父程序:
package com.rjgc.text;
public class Father {
int m;
int n;
int a;
public void addValue(int m,int n){
this.m=m;
this.n=n;
a=m+n;
}
String ToString()
{
return “中国心”+a;
}
}
子程序:
package com.rjgc.text;
import java.io.*;
/**
* @author Administrator
*
*/
//继承的实现extends
public class Son extends Father{
int a,b,c;
Son(int a,int b)
{
c=a+b;
}
//覆盖父程序的ToString()方法
String ToString()
{
return “Hellow,你的运算结果是:”+c;
}
public static void main(String[] args) {
BufferedReader m=new BufferedReader(new InputStreamReader(System.in));
BufferedReader n=new BufferedReader(new InputStreamReader(System.in));
String o,p,u;
u=null;
int w,h;
try{
o=m.readLine();
p=n.readLine();
if(u==””)System.out.println();
w=Integer.parseInt(o);
h=Integer.parseInt(p);
//重载Son方法
Son act=new Son(w,h);
act.addValue(w, h);
System.out.println(act.ToString());
}catch(IOException e)
{
System.out.println(e);
}
}
}
这是一个最最简单的加法程序,其中实现了继承、重载、覆盖的方法。