`
yidongkaifa
  • 浏览: 4051466 次
文章分类
社区版块
存档分类
最新评论

一.Java面向对象理论基础

 
阅读更多
一.面向对象基础理论

1.面向对象的理解
比如一个人
对象就是现实中实实在在存在的每个个体,每个人都是一个对象,这些对象都有自己的属性,如名字,年龄,性别等。
用面向对象的思想表示,代码如下:

class Human
{
	int mName;
	int mAge;
	//...
	
	void run();
	void jump();
	//...
	
}

class就是对象的具体描述,人可以跑,跳跃等,则是class中的函数。
类是一个抽象的概念,是对具体对象的描述,而现实中的人则是类的一个个实体对象。
比如一个叫王小二的人:

Human 王小二 = new Human();
这样就创建了一个Huamn的对象王小二,王小二是一个Human,则他拥有Human的一切属性和方法。

在面向对象中,我们不用关心类的具体实现,只需要知道其接口,就像开车一样,我们不会关心汽车的构造,发动机的具体实现,只需要知道方向盘,油门,刹车等等的使用
王小二.run();


2.类之间的关系
依赖关系:use-a A类中的一个方法操作了另一个类中的对象。
聚合关系:has-a A类中的对象包含B类的对象。
继承关系:is-a A继承了B类,此时A类不仅有了B类的方法,还加入了自己的方法。


3.面向对象的特性
(1)封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,
即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
(2)继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),
而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
java只支持单继承。
(3)多态性:
多态性是指允许不同类的对象对同一消息作出响应。
函数可以同名(参数不同,参数个数或者参数类型不同)
boolean isEquals2(int i);
boolean isEquals2(double i);
在调用的时候,不用区分这两个函数,系统会根据函数的参数类型,自动区分调用。


4.对象的接口
如上面Human的对象王小二,他提供的接口就是Human类中的public函数,
class Human
{
	String mNmae;
	int mAge;
	
	public void setAge(int age)
	{
		mAge=age;
	}
}
这样在外部就可以调用这个函数,王小二.setAge();我们只需要知道通过setAge()就可以设定年龄,而不需要关系具体的实现,这就是封装的特性。
只需要提供一个接口,供外部来调用。作为外部的调用者唯一关心的: 接口是什么。
在类中实现的时候,用public,private,protected来控制外部的访问权限。


5.关于继承
比如有一个Dog类,表示狗这个物种,有一个Bird类,表示鸟,他们都是动物,有共同的属性,则可以让他们继承Animal类
class Animal
{
	String mName;
	int mSex;

	void run();
	void jump();
}

然后Dog类可以继承自Animal
class Dog extends Animal
{
	
}

这样Dog就自动拥有了Animal的属性。


java中的每一个类都必须继承自另一个类,如果没有使用extends则隐式的继承Object类,Object类是所有类的超类,
JDK中有说明:

--类 Object
-java.lang.Object
public class Object
类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
从以下版本开始:
JDK1.0

分享到:
评论

相关推荐

    孙卫琴《Java面向对象编程》配套PPT及书中源码

    本书通俗易懂,并辅以大量的实例,使没有程序设计语言基础的读者,也可以轻松地掌握Java面向对象编程,为程序设计打好基础。 读者只要掌握一定的计算机基础知识,即可通过自学本书,轻松掌握Java程序设计语言及程序...

    Java 基础之面向对象编程教程

    Java 基础之面向对象编程教程,主要类和对象、如何定义类、成员函数、访问控制修饰符、构造方法、类变量、类方法、方法重载、方法覆盖、抽象、封装、继承、多态、抽象类、接口和New 运算符等概念的介绍和例题介绍...

    Java面向对象程序设计(清华版)压缩卷3

    本书综合介绍了Java语言编程技术和面向对象程序设计两部分内容,在讲授Internet上最流行的编程语言Java的同时,还介绍了它所采用的面向对象技术的基础理论、主要原则和思维方法。本书内容翔实全面,涵盖了从基本概念...

    java开发基础教程,讲解面向对象基础理论

    java开发基础教程,讲解面向对象基础理论

    [.Head.First.Java,.2nd.Edition].Head.First.Java,.2nd.Edition

    《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会...

    Java面向对象程序设计(清华版)压缩卷1

    本书综合介绍了Java语言编程技术和面向对象程序设计两部分内容,在讲授Internet上最流行的编程语言Java的同时,还介绍了它所采用的面向对象技术的基础理论、主要原则和思维方法。本书内容翔实全面,涵盖了从基本概念...

    完成Java面向对象程序设计实验课的心得体会(1).doc

    完成Java面向对象程序设计实验课的心得体会 Java面向对象程序设计实验课的心得体会 经过这几周对Java面向对象程序设计的学习,让我更加了解到Java学习的重要性。 在实验课上,我们完成多个实验,在这个阶段的学习中...

    Java语言程序设计(理论基础部分)ppt

    4 第三章 面向对象程序设计基础 5 第四章 图形用户界面设计 6 第五章 Java Swing基础 7 第六章 Java图形与图像处理 8 第七章 多线程与异常处理 9 第八章 数据流(1) 10 第八章 数据流(2) 11 第九章 网络编程 ...

    Java技术参考手册_java_

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。...

    完成Java面向对象程序设计实验课的心得体会.doc

    Java面向对象程序设计实验课的心得体会 经过这几周对Java面向对象程序设计的学习,让我更加了解到Java学习的重要性。 在实验课上,我们完成多个实验,在这个阶段的学习中,我从认识到熟悉,而后到 能够自主运用。...

    Java课程设计实训大作业:记事本+简易计算器+聊天系统+日历+中英查询(含源代码+运行截图+实训报告)

    根据Java面向对象程序设计相关理论,及GUI编程、事件处理、数据库编程等技术,设计一个如下图所示的“中英文释义查询”程序。输入英文单词,查询数据库将对应的中文显示在下框中;输入中文,查询数据库将对应的英文...

    Java面向对象程序设计(清华版)压缩卷2

    本书综合介绍了Java语言编程技术和面向对象程序设计两部分内容,在讲授Internet上最流行的编程语言Java的同时,还介绍了它所采用的面向对象技术的基础理论、主要原则和思维方法。本书内容翔实全面,涵盖了从基本概念...

    面向对象程序课程设计任务书

    其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。

    java基础理论知识串讲

    java基础理论知识串讲 挺全的 概述 基本语法 面向对象 类与对象 继承 接口与内部类 异常处理

    Java程序设计(理论基础+实战案例)

    《Java程序设计》是面向计算机相关专业的一门专业基础课,涉及Java语言中面向对象编程、多线程处理、网络通信等内容,通过本课程的学习,学生能够了解 Java 语言特征、常见的 Java 类库以及面向对象程序设计思想,...

    《Java 程序设计语言》教学大纲

    3. 掌握面向对象的基本理论、原理、技术方法和Java语言基础知识; 4. 能独立编写代码,编写测试数据,并能独立调试程序,获得正确结果; 5. 能独立进行java 软件开发和调试,实际项目问题; 2. 课程目标 1. 掌握java...

    面向对象的系统设计.part1

     本书的主要内容是论述如何在面向对象的分析(OOA)基础上进行面向对象的设计(OOD)。全书分为7章,第1章介绍OOD的发展历史、现状和几种典型的OOA&D方法,论述OOA和OOD的关系。第2章介绍本书提出的OOD方法概貌。第...

    狂神java基础源代码.zip

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。...

    Java编程开发培训 基础入门到精通

    Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、...

    java万年历课程设计

    为了达到这个目的,我们需要自己动手做一个Java的课程设计,在这个课程设计里我们需要根据我们手中现有得软件与知识基础,独立得将它完成,只有这样,我们才能把理论变成实践,将知识真正得做到学以致用。...

Global site tag (gtag.js) - Google Analytics