刚刚步入软件行业的大门,就要开始枯燥寂寞的码农之旅。这一路走来我们并不会轻松,因为这是一个知识量大更新速度快的IT行业。码农在学校要学扎实理论知识和跟不上时代的技术,工作后为了生存还得挤出时间学习需要的技术。这就是为什么程序员是世界上最忙碌的人,收入又远不及能说会道的销售人员。
前面都是说的一些牢骚话不可当真,其实程序员是世界最有智慧的群体。他们必须忍受寂寞面对电脑,写出令自己无比自豪的程序代码,不过有时也修改曾经自豪的代码。
如今忆是面向对象时代,无论是java程序员还是.net程序员C++程序员都已经面向对象了。在本文的内容前,先为大家讲解一下面向对象。
二、什么是面向对象
面向对象是以功能来划分问题,而不是步骤。
三、 面向对象的 三个特征:
1. 封装:
封装的本质或目的其实程序对信息(数据)的控制力。
所以封装是有两个方面:该隐藏的隐藏起来,该暴露的暴露出来。
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3.动态特性
(1)抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
(2)多态性:
多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
简要讲解了面向对象,接下来讲解重写、重载、泛型。
重写(覆盖)的规则:
1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.
2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>default>private)。
3、重写的方法的返回值必须和被重写的方法的返回一致;
4、重写的方法所抛出的异常必须和被重写方法的所抛出的异常一致,或者是其子类;
5、被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。
6、静态方法不能被重写为非静态的方法(会编译出错)。
重载的规则:
1、在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样);
2、不能通过访问权限、返回类型、抛出的异常进行重载;
3、方法的异常类型和数目不会对重载造成影响;
泛型:
是一种特殊的类型,它把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候进行。在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(现在人们大多把这称作模板)不论使用哪个定义,泛型的参数在真正使用泛型时都必须作出指明。一些强类型编程语言支援泛型,其主要目的是加强类型安全及减少类转换的次数,但一些支持泛型的编程语言只能达到部分目的。
实际应用:
1.继承的实际应用,Dao对象继承父类的crud方法。
2.重写的实际应用, overrider要jre1.6以后才支持。业务层对象继承业务层父类的所有crud方法
3.泛型的实际应用,此为DAO层的父类实现了常用的crud操作
4.重载的实际应用,此为jdbcTemplate模板查询list数据运用
5.封装的实际应用,此例子为封装的页面请求的对象。
6.多态的实际应用,抽象类定义未实现的方法和实现的方法。
7.接口定义形为
分享到:
相关推荐
封装继承多态总结
这是关于C#封装继承多态的一个简单的例子,对于深入学习C#中封装继承多态将很有帮助!
在 Java 中,可以通过方法重写和方法重载来实现多态。方法重写是子类继承父类的方法,并提供不同的实现。方法重载是提供多个同名方法,但是参数类型不同。 面向对象的设计 面向对象的设计是 Java 中的一种设计模式...
在C++编程语言中,封装、继承和多态是面向对象编程(OOP)的三大核心概念。下面将深入解析这三个关键概念,并结合"cppgood"这个可能包含示例代码的压缩包,来阐述它们在实际编程中的应用。 **封装** 是面向对象编程...
Educoder题目:Java面向对象 - 封装、继承和多态答案解析
Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析
java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素...
javascript中如何实现封装,继承和多态
总结起来,继承、多态、重载和重写是面向对象编程中的核心概念,它们相互关联,共同构建出灵活、可扩展的代码结构。通过继承,我们可以构建类的层次结构,多态则提供了代码的通用性和灵活性。而重载和重写则是实现...
总的来说,这个实例综合运用了Java的面向对象特性,展示了如何通过封装、继承和多态来设计和实现复杂的系统。同时,通过文件流操作,它还演示了如何在Java中处理文件,这对于任何涉及到数据存储或交换的项目都是必不...
在C#编程语言中,继承、封装和多态是面向对象编程(OOP)的三大核心概念。这些特性使得代码更加灵活、可复用且易于维护。下面将通过一个具体的示例来阐述这三个概念。 首先,让我们理解一下这三个概念的基本含义: ...
Java编程语言以其强大的功能和广泛的应用而闻名,其中三大特性——封装、继承和多态是其核心概念,对于理解和编写高效、可维护的代码至关重要。 **封装**是面向对象编程的基础,它涉及到将数据(属性)和操作这些...
多态分为编译时多态(重载)和运行时多态(重写)两种形式。 **实现方式及应用场景:** - **重载(Overloading):** 在同一个类中定义多个同名方法,但参数列表不同。编译器会根据传递的参数类型自动选择合适的...
面向对象编程(Object-...通过封装、继承和多态,OC使得代码结构更加清晰,易于理解和维护。这个"OC封装继承多态演示"的示例项目,无疑是一个很好的学习资源,可以帮助开发者更深入地理解面向对象编程在实践中的应用。
封装、继承和多态是面向对象编程的三大特性,它们是Java、C#、Python等许多编程语言中的核心概念。本文将通过一个实例详细解析这三个概念,并以`ConsoleApplication1`为例来阐述。 首先,封装是面向对象编程的基础...
在编程领域,封装、继承和多态是面向对象编程(OOP)的三大核心概念。本文将通过一个实例深入解析这三个概念,以帮助你更好地理解它们的内涵与应用。 首先,我们来谈谈封装。封装是面向对象编程的基础,它允许我们...
Java 中的重载、重写、继承和多态是四个不同的概念,它们之间存在一定的关系,但也存在明显的区别。 重载(Overload) 重载是指在同一个类中可以定义多个同名的方法,但这些方法的形参个数或类型必须不同。编译器...
java面向对象的基本知识,封装继承多态等
封装、继承、多态 一、 封装 封装是面向对象编程的三大特性之一,它是指将同一类事物的特性与功能包装在一起,对外暴露调用的接口。封装也称信息隐藏,是指利用抽象数据类型把数据和基于数据的操作封装起来,使其...