原标题:面向对象方法论总结 & 练习(一)
学习目标
1.面向对象与面向过程
2.类与对象的概念
3.类的定义,对象的创建和使用
4.封装
5.构造方法
6.方法的重载
内容
1.面向对象与面向过程
为什么会出现面向对象反分析方法?
因为现实世界太复杂多变,面向过程的分析无法满足.
面向过程:
在面向过程的眼中,世界的一切都不是孤立的,它们相互紧密联系在一起,缺一不可,相互影响,
相互作用,并形成一个个具有严格因果律的小系统;而更多的小系统组成了更大的系统,所有小系统之
间的联系也是紧密和不可分割的。
面向过程方法认为我们的世界是由一个个相互关联的小系统组成的,每个小系统都有着明确的开始
和明确的结束,开始和结束之间有着严谨的因果关系。只要我们将这个小系统中的每一个步骤和影响这
个小系统走向的所有因素都分析出来,我们就能完全定义这个系统的行为。
通常,面向过程的分析方法是找到过程的起点,然后顺藤摸瓜,分析每一个部分,直至达到过程的终
点。这个过程中的每一个部分都是过程链上可不分割的一环。
将世界视为过程的这个方法本身蕴含着一个前提假设,即这个过程是稳定的,这样我们才有分析的
基础,所有的工作成果都依赖于这个过程的步步分析。同时,这种步步分析的过程分析方法还导致另一
个结果,即过程中的每一步都是预设好的,有着严谨的因果关系。
面向对象:
面向对象方法将世界看作一个个相互独立的对象,相互之间并无因果关系,它们之间平时是“鸡犬之
声相闻,老死不相往来”的。只有在某个外部力量的驱动下,对象之间才会依据某种规律相互传递信
息。这些交互构成了这个生动世界的一个“过程”。在没有外力的情况下,对象则保持着“静止”的状态。
面向对象方法和面向过程过程根本的不同,就是不再把世界看作是一个紧密关联的系统,而是看成一
些相互独立的小零件,这些零件依据某种规则组织起来,完成一个特定的功能。原来,过程并不是这个
世界的本源,过程是由通过特定规则组织起来的一些对象“表现”出来的.
面向对象三大特征:
封装
继承
多态
2.类与对象的概念
类是对具有共性事物的抽象描述,是在概念上的一个描述.
对象就是用来描述客观事物的一个实体,有一组属性和方法 构成。
3.类的定义,对象的创建和使用
java中的类分为两大部分,系统定义的类和用户自定义的类
类的定义格式如下:
[修饰符] class 类名 {
类成员变量声明;
类方法声明;
}
4.封装
表现:方法就是一个最基本的封装体,类也是一个封装体。
特点:隐藏属性,提供对外访问的方法
好处:1、提高了代码的复用性;
2、隐藏了实现细节,但可以对外提供可访问的方法;
3、提高了安全性.
5.构造方法(Constructor)
构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方
法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其
他方法一样也可以重载。
注意:
1.构造方法是特殊的成员方法,它与类同名,在对象实例化时由虚拟机自动调用;
2.它没有返回值类型,也不能有返回值;
3.每个对象在生成时都必须执行构造方法,而且只能执行一次;
4.如果构造方法调用失败,那么对象也无法创建;
5.在没有定义构造方法的情况下,类会自动产生一个无参数的默认构造方法,这个默认的构造方法什么
都不做;
6.一旦显式地定义了构造方法,默认构造方法自动消失;
6.方法的重载(overload)
方法重载是让类以统一的方式处理不同类型数据的一种手段。Java构造方法的重载就是在类中可以创建
多个构造方法,但具有不同的参数列表(这一点和普通方法的重载是一样的)。调用时通过传递参数的不同来
决定具体使用哪个构造方法.
练习:
1、写一个传奇游戏中的猪类,类中有属性:颜色、个头、攻击力、准确度。有一个展示猪信息的方法。再写一个测试
类,生成一个猪的对象,将此猪的颜色值为“白色”,个头为5厘米,攻击力为50点血,准确度为0.8。要求输出此猪的信息
格式为:一只白色的猪,个头5厘米,攻击为为50点血,准确度为0.8,我好怕怕呀
2、定义 computer 计算机类:a、包含属性:品牌 brand; 型号 type ; 如 INTER i3 INTER i5 AMD六核。。。;产地
madeIn ;价格 price。b、包含方法:public void show(){ }显示所有的属性值。c:定义类时就给属性设置初始值:联想、
T400 INTER 双核、中国、7000.00元。d:在测试类中创建对象 并调用show方法显示信息。e:然后修改这个对象每个属性
的值:DELL、inter i5、美国、8000.00元。f:再次调用show方法显示属性的值。
3、使用JAVA定义学生类Student:
a.要求学生类有姓名、性别、年龄、身高,体重 分数,班级Class等属性
b.提供:自我介绍显示所有属性的值:我是XX班的一名男同学,今年XX岁,身高:XXX,体重XXX,今年考了XX分。
c.提供dining() 吃饭 和walk()走路的方法:吃饭:显示 我在吃饭, 然后体重增加1;走路:显示 我在走路,然后体重减
少1。
d. 编写测试类Teststudent进行测试:创建2个Student对象的对象:stu1 与 stu2,分别为两个对象的属性赋值,再分别调用
每个对象 自我介绍的方法 显示信息。并调用对象的dining(),walk()方法,看看输出是否正确?返回搜狐,查看更多
责任编辑: