当前位置: 首页 > news >正文

著名建筑网站中小企业管理培训班

著名建筑网站,中小企业管理培训班,做暧暖爱视频1000部在线网站,蚌埠网站建设专业公司哪家好目录 一、类图的概念 二、类图的主要作用 三、类图的构成 3.1 类的名称 3.2 抽象类(Abstract Class) 一、类图的概念 类图是UML模型中静态视图。它用来描述系统中的有意义的概念,包括具体的概念、抽象的概念、实现方面的概念等。静态视…

目录

一、类图的概念

二、类图的主要作用

三、类图的构成

3.1 类的名称

3.2 抽象类(Abstract Class)


一、类图的概念

类图是UML模型中静态视图。它用来描述系统中的有意义的概念,包括具体的概念、抽象的概念、实现方面的概念等。静态视图包括类图和对象图。

类图(Class Diagram)是描述类、接口、协同以及他们之间关系的图,用来显示系统中这些概念的静态结构。

类图是其它图的基础。我们可以在类图的基础上,使用状态图、协作图、组件图和配置图等。

二、类图的主要作用

类图的主要作用包括:

  1. 描述系统的结构化设计,显示出类、接口以及它们之间的静态结构和关系。
  2. 简化对系统的理解,是系统分析和设计阶段的重要产物,也是系统编码和测试的重要模型依据。

类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法。

建模的内容包括:

  1. 对系统的词汇进行建模
  2. 对简单的协作进行建模
  3. 对逻辑数据库模式进行建模

三、类图的构成

在UML中,一个类通常由名称(Name)、属性(Attribute)和操作(Operation)构成。除此之外,类的构成还包含类的职责(Responsibility)、约束(Constraint)和注释(Note)等信息。

类图一般如下图所示:

也有只表达类名、或者单独加上属性或者方法(操作)的模式。

 

3.1 类的名称

类的名称应该是一个名词,类名应该准确清晰的反映出问题域中的概念。按照UML的约定,类的名称中的每个词的首字母应大写,且使用正体名称来表示可实例化的类,使用斜体名称表示抽象的类。

包的名字,可以在类名字的下面,换行,加上(from Animals),或者类名的前面,直接加上双冒号,表达命名空间,以区别类。如

Animals::Dog

3.2 抽象类(Abstract Class)

抽象类,用斜体字表示,是不可以直接被实例化的,可实例化的类与抽象类的区别如下。

1. 定义

  • 可实例化的类:是一个具体的类,其实例化对象表示现实世界中的具体实体。它包含了实现其功能的完整方法。
  • 抽象类:是一个特殊的类,不能被直接实例化。它通常包含抽象方法和/或具体方法。抽象方法是没有具体实现的方法,其实现由继承抽象类的子类提供。

2. 主要区别

  • 实例化能力:可实例化的类可以直接创建对象,而抽象类不能被直接实例化。
  • 方法实现:可实例化的类包含完整的方法实现,而抽象类可能包含没有实现的抽象方法。
  • 设计目的:可实例化的类通常代表具体的实体或概念,而抽象类主要用于定义接口和提供部分实现,作为其他类的基类。
  • 继承:当一个类继承自抽象类时,它必须实现该抽象类中的所有抽象方法(除非它自己也是抽象类)。而继承自具体类时,可以选择性地重写父类的方法。

3. 代码例子

// 可实例化的类  
public class Car {  public void drive() {  System.out.println("Driving the car.");  }  
}  // 抽象类  
public abstract class Vehicle {  public abstract void move();  // 抽象方法,没有具体实现  
}

再看实例化的过程:

// 抽象类  
public abstract class Vehicle {  public abstract void move();  // 抽象方法,没有具体实现  
}  // 继承抽象类的具体类  
public class Car extends Vehicle {  // 实现抽象方法  @Override  public void move() {  System.out.println("Driving the car.");  }  // 添加具体类自己的方法  public void honk() {  System.out.println("Beep beep!");  }  
}  // 主类,进行实例化操作  
public class Main {  public static void main(String[] args) {  // 创建 Car 类的实例  Car myCar = new Car();  // 调用 Car 类的方法  myCar.move();  // 输出 "Driving the car."  myCar.honk();  // 输出 "Beep beep!"  }  
}

给出一段Python的语法实现:


复制代码
# 抽象基类  
from abc import ABC, abstractmethod  class Vehicle(ABC):  @abstractmethod  def move(self):  pass  # 抽象方法,没有具体实现  # 继承抽象基类的具体类  
class Car(Vehicle):  # 实现抽象方法  def move(self):  print("Driving the car.")  # 添加具体类自己的方法  def honk(self):  print("Beep beep!")  # 主程序,进行实例化操作  
if __name__ == "__main__":  # 创建 Car 类的实例  my_car = Car()  # 调用 Car 类的方法  my_car.move()  # 输出 "Driving the car."  my_car.honk()  # 输出 "Beep beep!"

在上述示例中,Car 是一个可实例化的类,因为它提供了drive 方法的具体实现。而 Vehicle 是一个抽象类,因为它包含了一个没有实现的抽象方法 move。任何继承 Vehicle 的类都必须提供 move 方法的具体实现。

总之,可实例化的类和抽象类在面向对象编程中都有其特定的用途。可实例化的类代表具体的实体和操作,而抽象类主要用于定义和组织接口以及提供部分实现。

(未完待续,后续文章将从3.3 属性开始,不再重新命名目录。)

http://www.ds6.com.cn/news/29395.html

相关文章:

  • 桑基图在线制作网站精准客户数据采集软件
  • 网站主色怎么选择怎么自己做网址
  • 梧州门户网站360竞价推广客服电话
  • 济南市莱芜区网站石家庄网站建设就找
  • 菠菜网站建设尊尚天成一键建站免费
  • 做公司网站 需要注意什么交换友情链接前后必须要注意的几点
  • 如何抄袭网站网课免费平台
  • 天河区建设网站商业推广费用一般多少
  • 网站iis7.5配置青岛网站seo服务
  • dz网站的隐藏链接怎么删除重庆森林粤语
  • html5网站模板移动端国际网站平台有哪些
  • 武邑网站建设价格百度关键词优化技巧
  • 南通做百度网站的公司网站优化seo是什么
  • 做男装比较好的网站有哪些seo文章推广
  • vs做网站怎样添加图片谷歌seo推广公司
  • 新手学做网站的书南宁网站建设服务公司
  • 购物网站页面设计图片免费b站推广软件
  • 深圳深圳龙岗网站建设武汉seo认可搜点网络
  • 北京品牌网站建设公司哪家好下载优化大师
  • 山东省聊城建设学校网站厦门seo小谢
  • 做网站 发现对方传销企业查询免费
  • 开拓网站建设公司百度收录提交网址
  • 你注册过哪些网站官网网络营销方法有哪些?
  • 中国建设银行网站个人客户淘宝店铺买卖交易平台
  • 免费下载模板的网站有哪些百度网页电脑版入口
  • 织梦网站后台密码推广项目网站
  • 凯里网络公司建设网站app推广渠道有哪些
  • 网站里的搜索怎么做的企业查询平台
  • 动态网站作业龙华网站建设
  • 网站建设公司 优势东莞市民最新疫情