向对象的概念和JAVA实现

本章内容:
1、面向对象编程和面向过程编程
2、理解类和对象
3、编写一个类、创建一个对象
4、类中的方法、属性


(一)、什么是对象???

oop:Object oriented Programming

对象是指现实世界中实实在在存在的实体,

例如:一个A学生、一个B学生、一个C老师、一个D老师等等.

(二)、面向对象编程和面向过程编程
例如:夏天来了,教室很热,小楚同学想解决很热的问题???

用面向过程的方式来解决的话,那么,我们会这样来做:

第一步:拿出一张纸

第二步:折成扇子形

第三步:用手开始扇风

对于上面的例子,这是一个同学解决自己的热的问题,如果全班二十七个同学每个人都要解决天热的问题,那么,二十七个同学都会执行上面的三个步骤来完解决天热的问题,我们也可以看到,上面的三个步骤执行了二十七次。

面向过程编程:通过设计一系列的步骤来解决某一个问题。(注重步骤)


如果是用面向对象的方式来解决的话,那么,我们要如何解决呢???
我们就会想,能不能创建出这么一个东西,可以让它来完成全班二十七个人热的问题呢??

那么,我们就会创建一个空调,放在教室中,打开后,就可以解决全班同学热的问题。
如果另一个教室的学生也热的话,那么,我们就会创建另一个空调,放在另一个教室中,解决另一班学生天热的问题。

面向对象编程:通过创建对象来解决一类问题。(强调对象)

oop的关键是让每一个对象负责执行一组相关的任务。如果一个对象依赖于别一个对象负责处理的任务,那么它就去访问那个包括该任务的对象。


例如:空调就是解决天热任务的对象,学生就依赖空调这个对象能处理天热任务的功能来解决天热的问题,所以,学生这个对象就会去使用空调这个对象。

(三)、理解类和对象
1、什么是类???
类是具有相同属性和共同行为的一组对象的集合

我们前面讲过对象,如下面

一个A学生、一个B学生、一个C老师、一个D老师

我们来分析一下这四个对象

一个A学生:

姓名:A 身份:学生 行为:学习

一个B学生:

姓名:B 身份:学生 行为:学习

一个C老师:

姓名:C 身份:老师 行为:教育学生

一个D老师

姓名:D 身份:老师 行为:教育学生


我们可以发现前两个对象是属于学生类的,因为这两个对象的相同属性都是学生,共同行为是学习

后两个对象属于教师类,这两个对象的相同属性都是老师,行为都是教育学生


例如:


一个白菜饺子、一个红萝卜饺子、一个黑芝麻汤圆、一个黄菠萝汤圆

一个白菜饺子:

名称:白菜饺子 颜色:白 形状:扇形、大肚子、皮薄 馅料:白菜 味道:咸的 材料:面粉 作用:给人吃

一个红萝卜饺子:
名称:红萝卜饺子 颜色:红 形状:扇形、大肚子、皮薄 馅料:红萝卜 味道:咸的 材料:面粉 作用:给人吃

一个黑芝麻汤圆:

名称:黑芝麻汤圆 颜色:黑 形状:圆形、皮厚、没有肚子 馅料:黑芝麻 味道:甜的 材料:糯米粉 作用:给人吃

一个黄菠萝汤圆:

名称:黄菠萝汤圆 颜色:黄 形状:圆形、皮厚、没有肚子 馅料:菠萝 味道:甜的 材料:糯米粉 作用:给人吃


前两个对象属于饺子类,相同属性是扇形、咸的 、面粉

后两上对象属于汤圆类,相同属性是圆形、甜的、糯米粉

2、类和对象的区别
我们把前面的饺子类和汤圆类可以想像成为一个饺子模具和汤圆模具,

那么我们可以使用这个模具做出我们的白菜饺子和红萝卜饺子,还有我们的黑芝麻汤圆和黄菠萝汤圆

从上面我们也可以得出,类是对象的模板和原型,每一个对象则是类的一个实例。

(四)、创建类、对象
从上面对类和对象的理解来看,我们也就可以将程序员分出两种角色,一种是类的创建者,一种是类的使用者。前面讲的,空调厂家生产出有降温功能的空调,我们只要买空调回家使用降温功能;模具厂生产出饺子模具,我们只要用这个模具回家制作出各种不同的饺子就可以了。

对于我们现在来说,我们是处于一个什么样的角色中呢???

答案是“使用者”。为什么这么说呢???

Integer.parseInt()这是一个整类,这个类中有一个方法,就是将字符串转成整型。

这个Integer这个类是由别人写好的,如果我们要将字符串转成整型时,就可以使用这个类中的pasreInt()这个方法。


创建一个饺子类(饺子数据类型)

class ClsJiaoZi
{ //定义属性

String jzName; //名称
String jzColor; //颜色
String jzMaterial=”面粉”; //材料
String jzFigure=” 扇形、大肚子、皮薄”; //形状
String jzStuffing; //馅

}


前面是创建好了一个饺子类,接下来,我们要使用这个饺子类来制作饺子,如何创建一个一个的饺子呢????
class ClsTest
{
public static void main(String args[])
{
ClsJiaoZi jzOne=new ClsJiaoZi(); //实列化ClsJiaoZi类
jzOne.jzStuffing=”白菜”; //赋值
jzOne.jzColor=”白色”; //赋值
jzOne.jzName=”白菜饺子”; //赋值
System.out.println(“名称:”+ jzOne. jzStuffing); //输出
System.out.println(“颜色:”+ jzOne. jzColor); //输出
System.out.println(“材料:”+ jzOne. jzMaterial); //输出
System.out.println(“形状:”+ jzOne. jzFigure); //输出
System.out.println(“馅:”+ jzOne. jzStuffing); //输出
ClsJiaoZi jzOne=new ClsJiaoZi(); //继续实列化ClsJiaoZi类
jzOne. jzStuffing=”红萝卜”; //再次赋值
jzOne.jzColor=”红色”; //再次赋值
jzOne.jzName=”红萝卜饺子”; //再次赋值
System.out.println(“名称:”+ jzOne. jzStuffing); //再次输出
System.out.println(“颜色:”+ jzOne. jzColor);
System.out.println(“材料:”+ jzOne. jzMaterial);
System.out.println(“形状:”+ jzOne. jzFigure);
System.out.println(“馅:”+ jzOne. jzStuffing);
}
}


从上面的例题,我们可以看出,类只用来实例化对象,要使用我们定义的属性,就要能过对象来调用。

例:创建一个空调类,属性:颜色、形状;行为:制冷、制热

例:创建一个学生类,属性:姓名、学号、性别、年龄;行为:学习、考试

属性有四种:

1、 定义在类中的属性,叫对象的属性
2、 定义在方法中的属性,叫方法的属性
3、 定义在类中的属性,但加上了static关键字的修饰属性,叫类的属性
4、 定义在类中的属性,但加上了final关键字修饰的属性,也是通过对象调用。
但表示这个属性为不可变。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值