java里oop思想_Java OOP 思想解析

article/2025/10/3 0:48:11

因为有着一年半的iOS开发经验(OC也是一门面向对象的语言)所以在对Java的面向对象的理解上也是有着自己的理解,今天就和大家分享一下。

面向对象中最为重要的三大思想就是:继承、封装、多态。本文将以一个实例场景来分析Java中的OOP。现有一个场景:学校人员管理。

首先分析出此场景所包含的角色类别:学生,老师,校长。那么我们可以为每个角色类别创建对应的类(具体相同特征或者行为的一种抽象)。学生(Student)、老师(Teacher)、校长(Headermaster)现在我们可以来分析一下这些类有没有一些共同的属性比如:姓名(name)、年龄(age)、性别(sex)等,因此我们就可以采用继承的思想,创建一个基类,让其他的类都继承这个基类(Person类),把共同的属性和方法就写在这个基类里面,其子类自动地共享基类中成员属性和成员方法。对应的目录如下

1e26522a4070?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

目录

在基类的基础上,我们可以为每个类增加自己特有的属性和方法。

我们以Person类和Student类还有Teacher类来分析封装和多态的概念

1.Person类

1e26522a4070?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

person类(省略set、get方法)

2.Student类

1e26522a4070?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

student类

3.Teacher类

1e26522a4070?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

teacher类

4.测试方法

public static void main(String[] args) {

Person person = new Student("xiaoming", "male", 12);

person.roleDescribe();

//person.scoreDescribe(); // 错误

Person teacher = new Teacher("MSWang", "female", 43);

teacher.roleDescribe();

Student xiaodong = new Student("xiaodong", "male", 13);

xiaodong.roleDescribe();

xiaodong.setScore(95.6);

xiaodong.scoreDescribe();

}

运行结果:

i am a student

i am a teacher

i am a student

i get 95.6!!

我们来分析一下:

多态:通过基类(Person)去创建子类(Student、Teacher)的对象,并且调用一个同名的方法roleDescribe()。由于子类中都覆盖了此方法所以此方法的效果会有多种形态,此过程便是多态。

封装:封装就是把数据和过程封装起来,对数据的访问只能通过已经定义的接口。在Java中可以通过public\private\protected 来实现封装。比如:Person类的name,age,sex都是私有属性,这是对属性的封装。对外界提供方法的封装,可以通过提供的方法对name,age,sex进行设置和获取。

但是看看Teacher类可以发现并没有提供薪水的(salary)的get方法,那是因为老师不想被其它人知道他的工资。


http://chatgpt.dhexx.cn/article/1p1kwqCg.shtml

相关文章

OOP思想

OOP思想 OOP思想在框架实战中的具体体现: OOP程序员遇到问题时的思考方式: –》 利用现有的方法和对象来搞定 --》 去找方法或对象来搞定 去哪找呢? –》 从父类或者父接口找 idea在OOP开发上还是提供了很多很好用的工具,可…

OOP基本思想

面向对象思想 面向对象概念:是指把所有对象封装为对象,提高代码的复用性 【复用性就是指一段代码可以重复使用】 一:面向对象四大步骤: 1:给计算机定义一个类 【一个类又两部分组合:成员变量和成员方法】 2…

Kali Linux信息收集工具栏之Dmitry tools(工具)

首先这款工具是信息收集工具里的第一位,大体作用是对IP或者web域名进行whois查询,它的用参数如下图: 首先我们需要知道整个格式是这样的 dmitry [-winsepfb] [-t 0-9] [-o%host.txt] IP或者web域名 #环境变量 (空格接参数) -t在…

白帽子黑客与网络安全工程师教你:如何使用DMitry域名查询工具技巧?

课前声明: 1、本分享仅做学习交流,请自觉遵守法律法规! 2、搜索:Kali 与编程,学习更多网络攻防干货! 3、Kali 与编程每天准时更新,敬请学习和关注! 正文部分 一、背景介绍 DMitry 工…

Kali linux-信息收集-dmitry

信息收集-dmitry DMitry(Deepmagic Information Gathering Tools 深度信息收集工具)是一个kali linux下用C语言写的工具。主要功能为端口扫描,whois主机IP和域名信息,从Netcraft.com获取主机信息,子域名搜集。 帮助: -o 保…

荆棘合成器-Plugin Alliance Dmitry Sches Thorn 1.2.2 WiN-MAC

win:VSTi, VSTi3, AAX* (*MOD.) 288M | mac:VST, VST3, AU 113M Thorn是一款软件合成器,旨在易于使用并提供出色的声音。在Thorn中,简单意味着简单明了,并同时提供高级声音控制。直观的工作流程&#xff0c…

综合扫描工具 -- dmitry

今天的云很好看,我想拍给你看,却想到我们很久不联系了,突然觉得,云也没那么好看了。。。 ---- 网易云热评 Dmitry是一款一体化的信息收集工具 一、环境:kali201201 二、用法: -o Save output to %host.txt or to …

Kali 工具系列【4】深度信息挖掘工具Dmitry使用技巧

一、Dmitry是什么? DMitry是黑客渗透流程中进行深度信息收集的利器,它是一个由C语言编写的UNIX/(GNU)Linux命令行工具,无GUI操作界面,需掌握其常用使用参数。 二、Dmitry可以用来做什么? 1、进行TCP端口扫描,收集端口…

DNS收集分析DMitry

Dmitry是一个由C语言编写的UNIX/(GNU)Linux命令行工具,它可用于收集主机相关信息,比如子域名、Email地址、系统运行时间信息。 列出帮助信息: $ dmitry –help 查看更完整的文档: $ man Dmitry 选项详解: -o filename 创建as…

渗透前戏:dmitry简介

Dmitry是一款有深度的信息挖掘机,用自己的小破网站来做个实验,实际体验真的很鸡肋,我要对这个深度信息挖掘机做一个深深的鄙视。 查询IP地址信息: dmitry -i 104.244.88.156 原来我的网站的HostName是16clouds.com的二级域名。 查…

域名查询工具DMitry

DMitry工具是用来查询IP或域名WHOIS信息的。WHIOS是用来查询域名是否已经被注册及已经注册域名的详情大的数据库(如域名所有人和域名注册商)。使用该工具可以查询到域名的注册商和过期时间等。 简单使用 dmitry [-winsepfb] [-t 0-9] [-o %host.txt] h…

【kali-信息收集】(1.3)探测网络范围:DMitry(域名查询工具)、Scapy(跟踪路由工具)

目录 一、简介 1.1、概述: 二、工具 2.1、域名查询工具DMitry 简介: 命令: 使用: 分析: 命令: 2.2、跟踪路由工具Scapy 简介: 命令: 基础: ARP().display()…

最新kali之dmitry

描述: Deepmagic信息收集工具。   DMitry(Deepmagic信息收集工具)是UNIX /(GNU)Linux命令行应用程序,能够收集有关主机的尽可能多的信息。   DMitry的基本功能允许从目标上的简单whois查找到正常运行时…

KaliLinux-dmitry使用详解

文章目录 DMitry简介常用参数使用实例 DMitry简介 Dmityr算是一款比较老的工具,是一个简单的主机信息扫描程序,工作原理是通过whois和netcraft查询主机信息,并且可以进行一些简单的端口扫描域名检测等操作。(缺点:需要链接google…

Kali信息收集工具Dmitry

Dmitry信息收集工具 功能:它可以收集以下信息 根据IP或者域名来查询主机上的whois信息在netcraft.com(提供安全服务)的网站上挖掘主机信息查找目标域中的子域查找目标域中的邮件地址探测目标主机打开的端口、被屏蔽的的端口和关闭的端口 D…

kali dmitry的使用

kali dmitry的使用 DMitry是用C编码的Linux命令行应用程序。DMitry具有收集尽可能多的有关主机的信息的能力。基本功能能够收集可能的子域,电子邮件地址,正常运行时间信息,tcp端口扫描,whois查找等。 参数用法: -o 将输…

Kali之dmitry使用教程

一、Dmitry是什么? DMitry是黑客渗透流程中进行深度信息收集的利器,它是一个由C语言编写的UNIX/(GNU)Linux命令行工具,无GUI操作界面,需掌握其常用使用参数。二、Dmitry可以用来做什么? 1、进行TCP端口扫描,收集端口相…

入侵检测——dmitry

目录 环境介绍工具简介数据包1:(-p参数)端口扫描2:(-i参数)whois查询ip3:(-w参数)whois查询域名 规则汇总 环境介绍 NAT模式: kali攻击方win7受害者 工具简介 DMitry(Deepmagic Information Gathering Tools 深度信息收集工具…

临时想出来的一种服务编排架构

整体架构 组织层级功能说明 平台功能说明

架构师效率快的终极原因:Fizz网关之服务编排

Fizz网关简介 Fizz Gateway 是一个基于 Java开发的微服务网关,能够实现热服务编排、自动授权选择、线上服务脚本编码、在线测试、高性能路由、API审核管理等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面&#x…