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

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

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

忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用关注细节。
    例如:要设计一个学生成绩管理系统,那么对于学生,只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息

2)封装(Encapsulation)

封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过指定的方式。
在定义一个对象的特性的时候,有必要决定这些特性的可见性,即哪些特性对外部是可见的,哪些特性用于表示内部状态。
通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这称为信息隐藏。
信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。
封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。

3)继承(inheritance)

继承是一种联结类的层次模型,并且允许和支持类的重用,它提供了一种明确表述共性的方法。
新类继承了原始类后,新类就继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。
派生类(子类)可以从它的基类(父类)那里继承方法和实例变量,并且派生类(子类)中可以修改或增加新的方法使之更适合特殊的需要
继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。

4)多态(polymorphism)

多态性是指允许不同类的对象对同一消息作出响应。
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
相同类域的不同对象,调用相同方法,表现出不同的结果
例如:
  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();

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

相关文章
|
29天前
|
Python
类与面向对象编程(Object-Oriented Programming, OOP)
类与面向对象编程(Object-Oriented Programming, OOP)
15 0
|
JavaScript 编译器
TypeScript-never和object类型、类型断言概述
TypeScript-never和object类型、类型断言概述
56 0
|
设计模式 Java
20 面向对象编程[OOP(Object Oriented Programming)]
OOP编程 类包含五大成员:属性、方法、构造器、代码块、内部类
86 0
|
Java Python
Python面向对象编程04:重写object通用函数
正式的Python专栏第39篇,同学站住,别错过这个从0开始的文章!
231 0
Python面向对象编程04:重写object通用函数
|
人工智能 Python 设计模式
[python作业AI毕业设计博客]Python 3 面向对象编程(第3版) 中英文Python 3 Object-Oriented Programming 3rd Edition - 2018.pdf
python测试开发项目实战-目录 python工具书籍下载-持续更新 python 3.7极速入门教程 - 目录 第2版 中文 介绍 本书主要介绍如何使用Python 3进行面向对象编程。1~4章介绍面向对象这一编程范式的基本准则,以及Python是如何运用这些准则实现面向对象编程的;第5~8章,介绍如何利用Python中的内置函数快速、简单地实现面向对象编程;第9~11章介绍了许多面向对象编程中常用的设计模式,以及如何使用符合 Python 语言习惯的方式来实现这些设计模式;最后第12、13章介绍了Python 3中并发编程相关的主题。
|
定位技术 C++ 开发工具
|
21天前
|
Java
Java Object 类详解
在 Java 中,`Object` 类是所有类的根类,每个 Java 类都直接或间接继承自 `Object`。作为所有类的超类,`Object` 定义了若干基本方法,如 `equals`、`hashCode`、`toString` 等,这些方法在所有对象中均可使用。通过重写这些方法,可以实现基于内容的比较、生成有意义的字符串表示以及确保哈希码的一致性。此外,`Object` 还提供了 `clone`、`getClass`、`notify`、`notifyAll` 和 `wait` 等方法,支持对象克隆、反射机制及线程同步。理解和重写这些方法有助于提升 Java 代码的可读性和可维护性。
|
5月前
|
Java
Java Object 类
5月更文挑战第16天
|
2月前
|
Java
【Java基础面试二十】、介绍一下Object类中的方法
这篇文章介绍了Java中Object类的常用方法,包括`getClass()`、`equals()`、`hashCode()`、`toString()`、`wait()`、`notify()`、`notifyAll()`和`clone()`,并提到了不推荐使用的`finalize()`方法。
【Java基础面试二十】、介绍一下Object类中的方法
|
2月前
|
前端开发 Java 编译器
【前端学java】java中的Object类和前端中的Object有什么区别(9)
【8月更文挑战第10天】java中的Object类和前端中的Object有什么区别
36 0
【前端学java】java中的Object类和前端中的Object有什么区别(9)