(JAVA)大话类、方法、参数、对象、属性以及面向对象的开发模式(欢迎高手泼墨)
首先我们来看一下官方的解释:
类:具有相同属性相同方法所抽象出来的个体叫做类。
方法: 类中操作的实现过程叫做方法。
参数:
对象:对象是系统中用来描述客观事物的一个实体。
属性:个体对象的性质(特征、特性)。
面向对象:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的方法。
类与对象的关系:类是对象抽象出来的,对象就是类的实例化。
看了官方的解释,相信大家都还是比较模糊的,不模糊我这篇文章也就没什么意义了!
那下面根据我多年的经验来给大家解释下,当然在讲之前我也学习一下数学的教育方式,一个苹果加上一个苹果等于两个苹果,我也找一个物体来举例。OK最近的,也最容易理解的。我就拿人来进行举例。
类: 什么是类,物以类聚人以群分,这句话所说的类和程序当中所说的类是一个概念,就好比人就是一个类(人类),猴子也是一个类(猴类)……
举个例子:我们用程序来模仿写一个人类。
Public Class People{
//类就是如此简单
}
方法: 方法就是人的行为。比如吃、喝、拉、撒……
还是举个例子:我们还是用程序来模拟人吃东西这个动作(具体方案)
Public Class People{
//这就是一个方法 (无参数方法)
public void Drink(){
//喝的具体方案。至于是用嘴还是用肛门,我们就不去追究了……
return null;
}
}
参数:参数就是具体要吃、喝、拉、撒的对象……
同样用程序举例:我们在方法中加入参数,以喝水为例
//先不要管方法里面参数的类型,参数类型我会在下面的对象中讲到。
public Class People{
//喝水的具体方法,这里我们加入了参数,也就是我们要喝的对象水。 (单个参数的方法)
Public void DrinkWater(Water water){
//方法的主体
return null;
}
//当然你也可以写成果汁
//喝橙汁的方法(多个参数的方法)
public void Drink OrangeWater1(Water water,Orange orange){
//方法的主体
return null;
}
//OK 喝完了我们还需要有反映也就是传说中的方法的返回值,比如喝饱了。
//喝饱了的方法
public String Drink OrangeWater2(Water water,Orange orange){
//方法的主体
While(!full){
People.DrinkOrangeWater2(water,orange);
}
return “喝饱了”;
}
}
对象:对象是系统中用来描述客观事物的一个实体。
用程序举例:以水为对象 我们先来分析下水有些什么属性 简单点 体积、透明度 。我们按照这两个特征来写。
属性:属性就是用来描述对象的玩意,比如形容水,所以水的特征都是一样的。常温常压下为无色无味的透明液体那这个我们靠什么来描述具体的对象(某一瓶水)呢。当然就是靠体积 透明度等等,这些因素来判断了,就像人一样都有鼻子、眼睛、耳朵,但是当警察问你你看到的人长什么样的时候,你会说,鼻子高高的,耳朵有点短……这些就叫做属性
public class Water {
/*
* int 体积
*/
private String vol;
/*
* boolean 透明度
*/
private String opacitas;
public String getVol() {
return vol;
}
public void setVol(String vol) {
this.vol = vol;
}
public String getOpacitas() {
return opacitas;
}
public void setOpacitas(String opacitas) {
this.opacitas = opacitas;
}
}
到这里大家也许会说,这不是一个类吗,怎么会是个对象呢。是的目前这的确是一个类,不过呢我们来看看类和对象的关系是什么?类是对象抽象出来的,对象就是类的实例化。
对了,很简单,我们将这个类实例化,那不就成为对象了么。在这里我连同类与对象的关系也一并给大家讲解了。
先看看这个类,应为上面说到这里会讲到刚才方法的参数类型是哪里来的,现在我给大家解释下。就是先写好了类,然后实例化得来的,那么这个类叫Water 实例化之后参数名叫做water注意大小写 ,那么water这个时候就是一个对象了。上面已经写好了一个Water类,下面的方法中我直接实例化调用。
public class People {
public String DrinkWater(Water water){
return "你喝的是"+water.getVol()+"并且"+water.getOpacitas()+"的水";
}
public static void main(String[] args) {
//实例化人这个对象
People people = new People();
//实例化水这个对象
Water water = new Water();
//对对象的属性赋值
water.setVol("100毫升");
water.setOpacitas("清澈");
//调用人喝水的方法,并传入喝的对象,水
String a = people.DrinkWater(water);
//打印出返回值
System.out.println(a);
}
}
面向对象:那么以上这套开发模式就称为面向对象的开发模式,你看懂了么?