前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OOP面向对象编程(Object-Oriented Programming)概述

OOP面向对象编程(Object-Oriented Programming)概述

作者头像
江帅帅
修改2020-07-17 17:32:31
6860
修改2020-07-17 17:32:31
举报
文章被收录于专栏:大数据工程师大数据工程师

Java的编程语言是面向对象的,采用这种语言进行编程称为面向对象编程(Object-Oriented Programming, OOP)。

1)抽象(abstract)

忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用关注细节。

例如:要设计一个学生成绩管理系统,那么对于学生,只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息

2)封装(Encapsulation)

封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过指定的方式。

在定义一个对象的特性的时候,有必要决定这些特性的可见性,即哪些特性对外部是可见的,哪些特性用于表示内部状态。

通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。

信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。

封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

3)继承(inheritance)

继承是一种联结类的层次模型,并且允许和支持类的重用,它提供了一种明确表述共性的方法。

新类继承了原始类后,新类就继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。

派生类(子类)可以从它的基类(父类)那里继承方法和实例变量,并且派生类(子类)中可以修改或增加新的方法使之更适合特殊的需要

继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

4)多态(polymorphism)

多态性是指允许不同类的对象对同一消息作出响应。

多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

相同类域的不同对象,调用相同方法,表现出不同的结果

例如:

代码语言:javascript
复制
    public class Person{

            public void say(){}

        }

        public class Student extends Person{

            public void say(){

                System.out.println("I am a student");

            }

        }

        public class Teacher extends Person{

            public void say(){

                System.out.println("I am a teacher");

            }

        }

        main:

            Person s = new Student();

            Person t = new Teacher();

            s.say();

            t.say();

本文来源于:奈学开发者社区

标题:面向对象编程(Object-Oriented Programming, OOP)概述

url:https://ask.naixuejiaoyu.com/article/481

如有侵权,请联系我删除!谢谢~

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档