03. 面向对象分析过程

2023-05-16

03. 面向对象分析

1、面向对象

(1)OOA(Object-oriented Analysis)
面向对象分析——事物的分类、命名、描述。
(2)OOD(Object-oriented Design)
面向对象设计——建模
(3)OOP(Object-oriented Programming)
面向对象编程——实现

2、面向对象分析的特点

(1)特征:事物的特征/性状、结构和状态

(2)行为:能力、效果/功效、职责

(3)事物:具体/泛指,物理/逻辑

(4)要义:

  • 万物皆可分类、命名
  • 万物皆对象
  • 万物皆有特征、行为和初始状态
  • 万物间皆有联系
  • 万物皆是层次结构

3、五大成员:

(1)属性
(2)构造方法:

[访问修饰符] 类名 (形参列表) {
方法体
}

(3)方法:

[访问修饰符] [修饰符] 返回值类型 方法名 (形参列表) {
方法体
}

(4)块:
1)实例块 :

{
}

每次创建对象时,都会自动执行,且在构造方法之前执行,由于版本原因,可以说是之前版本的构造类。
2)静态块:

static{
}

在类第一次被实例化时会被调用执行一次(仅一次),且在实例化之前执行。
(5)内部类

class demo{
		
}

4、Java命名规范

(1)大驼峰:类名,构造方法
(2)小驼峰:方法名,变量名
(3)全大写:常量名
(4)全小写:包名

5、Java权限修饰符+特征修饰

(1)权限修饰符

  • public - 共有的-可以在本项目中任意位置使用
  • protected-保护的-可以在本类、同包、子类中使用
  • 默认-默认的-可以在本类、同包中使用
  • private-私有的-可以在本类中使用

java语言的严谨性和安全性,我们在以后使用这4种修饰符时创建一个类,这个类的权限尽量要小,这样才能减少漏洞和提高安全性,从而体现java面向对象的封装性。

(2) 特征修饰符

final:

修饰变量--只有一次赋值机会,不能再发生改变
修饰属性--必须赋初始值,不能再次发生改变
修饰方法--该方法不能被重写
修饰类 --该类不能被子类继承

static:
修饰属性/修饰方法/修饰块/修饰内部类
静态元素在类加载时即被初始化
静态元素存储在静态区中,每个类有单独的区域不冲突
静态元素不能被GC(垃圾回收机制)管理
静态元素与对象无关,属于类
静态元素只能加载一次,与所有类对象以及类本身共享
静态元素加载时没有对象所以可以直接通过类名访问
静态元素与静态元素之间可以直接访问
非静态元素可以直接访问静态元素,静态元素不可以访问非静态元素
静态元素中不可以使用this和super

abstract
用来创建抽象类和抽象方法。

synchronized 和 volatile
主要用于线程的编程。

native
用来调用本地的(C/C++)语言

6、方法重载:

(1) 同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载(method overloading)。

参数列表又叫参数签名,包括参数的类型、参数的个数、参数的顺序,只要有一个不同就叫做参数列表不同。

重载是面向对象的一个基本特性。

(2)方法的重载的规则:

  • 方法名称必须相同。
  • 参数列表必须不同。
  • 方法的返回类型可以相同也可以不相同。
  • 仅仅返回类型不同不足以称为方法的重载。

(3)方法重载的实现:

方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错,这叫做重载分辨。

7、创建一个对象的过程

(1)把类的字节码加载到内存。

(2)根据类的声明,把属性集初始化到内存堆并赋初值。

(3)根据代码,调用参数的构造方法,并赋值。

(4)在栈中创建一个变量,用来引用堆中对象的具体属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

03. 面向对象分析过程 的相关文章

  • N 皇后问题

    span class token macro property span class token directive keyword include span span class token string lt iostream gt s
  • fashion_mnist识别

    fashion mnist识别 使用relu6代替relu可以的到更好的识别率 xff08 循环数据集10次 xff0c 正确率 xff1a 75 85 xff09 categorical crossentropy xff08 交叉熵 xf
  • 动态规划之n人过桥问题

    题目 xff1a 在一个夜黑风高的晚上 xff0c 有n xff08 n lt 61 50 xff09 个小朋友在桥的这边 xff0c 现在他们需要过桥 xff0c 但是由于桥很窄 xff0c 每次只允许不大于两人通过 xff0c 他们只有
  • Linux挂载samba

    安装插件 span class token function apt span span class token function install span span class token parameter variable y spa
  • device lo not available because device is strictly unmanaged 修复

    执行以下命令修复 nmcli n off nmcli n on nmcli
  • Python操作Excel文件

    1 xlwt span class token keyword import span xlwt workbook span class token operator 61 span xlwt span class token punctu
  • Linux 扩容 / 根分区(LVM+非LVM)

    一 CentOS7 xff0c LVM根分区扩容步骤 xff1a 1 查看现有分区大小 span class token function df span TH 2 关机增加大小为30G 测试环境使用的Vmware Workstation
  • vscode 找不到 python 解析器

    环境 xff1a win10 xff0c vscode1 44 2 xff0c python3 6 8 问题描述 xff1a 由于先前安装过 python3 7 5 后面卸载了 xff0c 导致 vscode 一直显示前面版本的 pytho
  • win10 更新后指纹不能使用

    背景 xff1a 2021年7月12日更新windows后 xff0c 指纹使用后报错 抱歉 xff0c 出现问题 xff0c 关闭windows hello xff0c 然后尝试再次运行安装程序 解决方法 xff1a 使用官方推荐方法 h
  • 使用 node-exporter textfile 收集文件中的 metrics

    背景 xff1a 本来打算使用 process exporter 来监控 airflow celery worker 进程的 xff0c 但是当 airflow worker 并发数量达到 2000 时 xff0c process expo
  • 记一次 proxy 导致的端口访问失败

    背景 xff1a infra 交付了一批服务器 xff0c 部署好服务后 xff0c 发现所有服务器端口 curl 不可 环境 xff1a 服务器 IP 192 168 1 1 xff0c 内部网络 问题详情 xff1a 1 服务器部署了
  • Ubuntu16 永久修改 DNS

    环境 xff1a ubuntu16 04 操作步骤 xff1a 1 修改 etc resolv conf nameserver span class token number 114 114 span 114 114 nameserver
  • docker 学习(1)——docker安装

    1 安装一些必要的系统工具 xff1a sudo yum install y yum utils device mapper persistent data lvm2 2 添加软件源信息 xff1a sudo yum config mana
  • docker学习(2)——镜像加速2

    上篇文章介绍的加速使用中出现下载一半卡死的情况 xff0c 因此重新配置了daocloud加速 xff0c 当然也可以配置aliyun加速 https www daocloud io mirror 注册后 xff0c 点击火箭图标 xff0
  • mkfs.xfs: cannot open /dev/sdm: Device or resource busy

    实验环境 xff1a centos7 服务器 问题 xff1a 之前服务器 做过ceph xff0c 之后格式化磁盘 xff0c 数据盘作raid0 系统装好后 xff0c 查看设备信息 lsblk xff0c 显示部分磁盘正常 xff0c
  • linux shell 脚本 获取 执行命令结果

    有时候 xff0c 我们需要在shell脚本中获取执行命令得到的结果 如果只是想知道命令是否正确执行 xff0c 可以用 34 34 标识 xff0c 如果是想要获得命令执行的结果 xff0c 可以使用 96 comand 96 或者 34
  • 推荐系统中的各个模型对比学习损失InfoNCE的具体实现方法

    1 SGL写法 xff08 Self supervised Graph Learning for Recommendation xff09 SGL使用的是基于图结构扰动的数据增强方式 xff0c 他给每一个节点都建立了augmented v
  • openstack Missing value auth-url required for auth plugin password

    按照openstack官网安装 xff0c 执行 xff1a openstack project create domain default description 34 Service Project 34 service 出现 xff1
  • 两款实用的DDos攻击工具

    两款实用的DDos攻击工具 2018 02 22Network Security865 之前为了重现某个bug xff0c 需要对网络设备进行ddos攻击测试 xff0c 同时也是对设备的网络攻击防护功能进行抗压测试 临阵磨枪 xff0c

随机推荐