Java学习(一)--面向对象(一)

面向对象的思想一直指导者我们软件的分析、设计与开发。java语言是一种面向对象的语言,在学习java之前,先回顾一下面向过程和面向对象。

一面向过程

面向过程主张按功能来划分系统需求,每个功能都负责对数据进行一次处理,每个功能都接受一些数据。它最小的单位是函数,每个函数负责完成一个功能,整个系统由一个个函数组成,其中有一个主函数,作为程序的入口,主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个软件系统的功能,其实就是主函数负责把系统中的所有函数“串起来”。

从上面的图中我们不难发现面向过程的设计是自顶向下的逐层设计,在设计阶段就需要考虑每个模块应该分解为那些子模块,每个子模块有分解为那些更小的模块,直达模块细化到一个函数。每个函数的存在都是为了实现上一层的函数。

试想一下,如果客户需求改变,那我们就要真对这个功能从上到下逐层对需要改变的地方进行修改。从这里不难看它的可扩展性不强,所以它的维护成本相当的高。

二面向对象

它是一种更优秀的程序设计的方法,基本思想是使用类、对象、继承、封装、消息等基本概念来实现程序设计。它是在处理问题时,从该问题所存在的事物本身出发,逐步认识事物的属性和行为特征。它比较接近人类的思维方式。

三比较面向过程、基于对象和面向对象。

面向过程:

就是说你对面坐的都是一一个的过程/函数/功能,它们的对面也都是函数。在面向过程里,函数最大,一切以函数为中心,若干的函数模块构成了整个的函数系统。

基于对象:

基于对象没有继承和多态,基于对象是在已有对象的基础之上的,它把其他语言创建的对象统一起来,形成一个对象体系。基于对象语言的存在是借助其他语言存在的。比如javascript语言就是基于对象的,它使用一些封装好的对象,调用对象的方法,也可以设置对象的属性,但是无法派生新类,我们使用现有的对象的方法和属性。最常看到的就是js动和html的组合使用。在定义js的的function时,基本都要先获得html的对象,然后对其进行操作。如果没有了html的对象,js空有一身的武艺,却无用武之地。

面向对象:

面向过程的基础是函数,面向对象的基础是对象/类。类是对事物属性和函数的抽象封装。它给了函数一个归宿,通过这些函数,既可以改变其他对象的属性也可以改变自己的属性。封装、继承和多态是面向对象的三大特征,面向对象有了继承,有利于提高程序的扩展性。

四总结:

在面向对象中,抽象是灵魂,继承是抽象的运用,是多态的基础。

时间: 2024-10-05 02:52:26

Java学习(一)--面向对象(一)的相关文章

Java学习之面向对象一

1 面向对象 1.1     理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l  面向过程的程序设计方式,是遇到一件事时,思考"我该怎么做",然后一步步实现的过程. 例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考"打扫卫生我该怎么做,然后一件件的完成",最后把公司卫生打扫干净了. l  面向对象的程序设计方式,是遇到一件事时,思考"我该让谁来做",然后那个"

Java学习之面向对象(概念性质) <好程序员特训营>

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.面向对象:三个特征:封装,继承,多态 2.开发过程:其实就是找对象使用.没有对象,就创建一个对象 3.类和对象的关系. 现实生活中的对象:张三 李四. 想要描述:提取对象中共性内容.对具体的抽象. 描述时:这些对象的共性有:姓名,年龄,性别,学习java功能

Java学习: 面向对象的使用与注意事项

面向对象的使用与注意事项 面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事. 类与对象的关系 类是对一类事物的描述,是抽象的. 对象是一类事物的实例,是具体的. 类是对象的模板,对象是类的实例. 定义一个类,用来模拟“学生”事物.其中就有两组成部分: 属性(是什么): 姓名 年龄 行为(能做什么): 吃饭 睡觉 学习 对应到Java的类当中:成员变量(属性): Stri

java学习之面向对象(4)

之前介绍了java面向对象三大特性之一封装,现在来说说三大特性之一继承和抽象类.这些只是我个人的认识,不足之处还请见谅. 1. 继承是面向对象的三大特征之一,那么何为继承呢? 继承是指一个对象直接使用另一个对象的属性与方法,是通过extends关键字让类与类之间产生继承关系.而被继承的类称为父类,继承父类的类称为子类(派生类). //父类 class Animal { //如果属性需要被子类继承,那么可以使用protected关键字,方法也一样 protected String name; pr

Java学习之面向对象五

###01final关键字概念 * A: 概述 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, 就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用到一个关键字final,final的意思为最终,不可变. final是个修饰符,它可以用来修饰类,类的成员,以及局部变量. ###02final修饰类义 * A: final 修饰类 final修饰类

Java学习日记------面向对象①

1 package com.atguigu.java; 2 /* 3 理解1:人开门 4 面向过程:人 打开 门 5 面向对象: 6 人{ 7 打开(门){ 8 门.开开(): 9 } 10 } 11 12 门{ 13 开开(){ 14 } 15 } 16 */ 17 /*理解二:人把大象装冰箱 18 *面向过程:1)打开冰箱2)把大象装进去3)关闭冰箱门 19 *面向对象: 20 *人{ 21 * 打开(冰箱){冰箱.开开} 22 * 操作(大象){大象.进入(冰箱)} 23 * 关闭(冰箱)

Java学习日记------面向对象②

2018-03-01 1.创建Java类并实例化 package day02; /* * 面向对象思想的落地法则一: * 1.设计类,并设计类的成员(成员变量和·成员方法) * 2.通过类,来创造类的对象(也成为类的实例化) * 3.通过"对象.属性"或"对象.方法"来调用. */ public class zoo { public static void main(String[] args) { //基本数据类型的声明:数据类型 变量名=初始化值 //int i

Java学习日记------面向对象③

Java类的设计和使用练习 package day3; public class TestPerson1 { public static void main(String[] args) { Person1 a1=new Person1(); a1.study(); a1.showage(); a1.addAge(2); a1.Display(); } } class Person1{ String name; int age; boolean sex; public void study()

Java学习 &#183; 初识 面向对象深入一

面向对象深入 1.面向对象三大特征 a) 继承 inheritance 子类可以从父类继承属性和方法 子类可以提供自己的属性方法 b) 封装 encapsulation 对外隐藏某些属性和方法 对外公开某些属性和方法 c) 多态 polymorphism 适应变量的多种变化 1.1 封装 a)   为什么需要封装 隐藏对象内部的复杂性,只对外公开简单接口.便于外界调用,提高系统可扩展性.可维护性: b)   实现封装 使用访问权限符 成员四种访问权限 public 公共的 项目可见 protec