1.抽象:
抽象——就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。(就是把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来一般叫做类或者接口。)抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是数据抽象,二是过程抽象。
数据抽象——就是用代码的形式表示现时世界中一类事物的特性,就是针对对象的属性。比如建立一个鸟这样的类,鸟都有以下属性:一对翅膀、两只脚、羽毛等。抽象出来的类都是鸟的属性,或者成员变量。
过程抽象——就是用代码形式表示现实世界中事物的一系列行为,就是针对对象的行为特征。比如鸟会飞、会叫等。抽象出来的类一般都是鸟的方法。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。因此可以说,继承是为了重用父类代码,同时为实现多态性作准备。
3.封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据。
4. 多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。总的来说,方法的重写、重载与动态链接构成多态性。Java引入多态的概念原因之一就是弥补类的单继承带来的功能不足。(为规避C++中多继承造成的复杂继承问题,java采用单继承。)
动态链接——对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就是动态链接。
注意:继承与重载:一是子类与父类的关系,二是重载方法的调用问题。
子类对象可以直接当成父类对象使用,但反过来就不可以。举例来说,人是父类,学生是人的子类,所以学生对象一定具备人对象的属性,但是人对象就未必具有学生对象的特性。所以学生对象可以当做人对象来使用,但是人对象就不能当做学生对象使用。注意当把子类对象当成父类对象使用时,子类对象将失去所有的子类特性,只保留与父类同名的属性和方法(同名方法不仅是函数名相同,而且参数类型也要一样,否则不予保留)。此时可以对父类方法进行重写。
一个类中如果定义了重载的方法,则系统在调用方法时,会根据参数的类型自动选择调用合适的方法。
分享到:
相关推荐
JAVA 面向对象程序设计教程 第13章 Java网络编程 第13章-Java网络编程-Java面向对象程序设计教程-微课视频版-程杰-清华大学出版社全文共17页,当前为第1页。 第13章 Java网络编程 第13章-Java网络编程-Java面向对象...
实验一 Java的运行环境和运行一个Java程序 实验二 Java语言基础——数据类型、运算符、表达式和控制结构 实验三 类、对象和包 实验四、异常处理 1.运行下面的程序,理解异常的抛出、捕捉与处理。 实验五、 GUI...
第四章 类和对象 [习题] 1.类及类成员的访问控制符有哪些?... ----------------------- java面向对象程序设计习题-(11)全文共2页,当前为第1页。 java面向对象程序设计习题-(11)全文共2页,当前为第2页。
Java面向对象程序设计笔记: 目录----非原创,上课的时候老师给的资料哦 第一章 Java 前凑 3 1. Java前凑 3 Java产生的目的 3 Java的诞生的历史 3 2.Java语言的特点 3 简单性 3 面向对象 3 网络技能 3 3....
基于Java面向对象程序设计课程报告 .word教育资料基于Java语言的简易坦克大战游戏设计课程报告摘 要: 本课程设计使用Java语言开发了一个简单坦克大战小游戏,主要采用面向对象程序设计 思想来完成程序的需求分析,...
精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究, 1/21 页 1 1.1 Java 中的面向对象技术(第 1 部分) [本讲的知识要点]: Java 的主要特点、面向对象程序设计方法、OOP 的四个基本...
《JAVA程序设计教程》源代码;《JAVA程序设计教程》电子教案(邓丽强);《Java语言程序设计实验指导》电子教案;期末考试试卷下载,“四合一”版本
java语言与面向对象程序设计形考4-0001 java语言与面向对象程序设计形考4-0001全文共12页,当前为第1页。java语言与面向对象程序设计形考4-0001全文共12页,当前为第1页。java语言与面向对象程序设计形考4-0001 java...
第一册:《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。 第二册:《HeadFirst设计模式》(中文版)共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计...
面向对象的计算器,网上很多的都是面向过程的,这里提供了一个面向对象的,应该不会有雷同的。还有些许功能未完成,界面也有些丑,但是提供了大体的功能,见谅!
孙卫琴的《JAVA面向对象编程》,已添加标签。共分四个部分压缩,大约70M,这是第四部分。
实验目的:熟悉和掌握Java中的面向对象编程,包括类、继承和多态等面向对象方法 。 2. 实验内容: 1. 编写一个圆类Circle,该类拥有: (1)属性radius; (2)构造方法Circle()和Circle(double r) (3)成员方法:...
面向对象编程的四个基本原则 1、开放封闭原则 2、依赖倒置原则 3、接口分离原则 4、Liskov替换原则
孙卫琴的《JAVA面向对象编程》,已添加标签。共分四个部分压缩,大约70M,这是第三部分。
孙卫琴的《JAVA面向对象编程》,已添加标签。共分四个部分压缩,大约70M,这是第二部分。
孙卫琴的《JAVA面向对象编程》,已添加标签。共分四个部分压缩,大约70M,这是第一部分。
适合java初学者进一步学习和精通java,掌握面向对象编程技术的几个非常有趣、适合java学习的游戏项目,共有四个,已经测试可以使用,并且包含完整源码和资源。
1. 编写一个类实现复数的运算。 复数类ComplexNumber的属性: m_dRealPart:实部,代表复数的实数部分。 m_dImaginPart:虚部,代表复数的虚数部分。 复数类ComplexNumber的方法: ComplexNumber():构造函数,...
面向对象程序设计OOP(Object-Oriented Programming)是计算机软件开发方法的一场革命,目前广为流行的C++是面向对象程序设计语言的第一个大众化版本,是当前学习面向对象程序设计方法的首选语言。 本课程以最新...
本Java程序实例包中包含的内容有: 1、加减法的四则运算的图形化界面设计 2、随机数的生成,并对生成的随机数进行求和运算,及本程序的图形界面搭建,包括对话框,文本域,Button,Label等组件的使用; 3、三角形,...