UML重点整理
- UML中有四种事务:结构事物、行为事物、分组事物和注释事物。
- UML中的关系:依赖、关联、泛化、实现。
- 依赖:是两个事物间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
- 关联:是一种结构关系,它描述了一组链,链是对象之间的连接。聚集是一种特殊类型的关联,它描述了整体和部分间的结构关系。
- 泛化:是一种特殊或者一般关系,特殊元素或者子元素对象可代替一般元素对象。用这种方法,子元素共享了父元素的结构和行为。
- 实现:类元之间的语义关系,其中一个类指定了由另一个类元保证执行的契约。在两种关系会使用实现关系:一种是在接口和实现他们的类或构件之间;另一种是在用例和实现它们的协作之间。
- UML中的图:13种。类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部署图、包图、交互图。(下次博客详见)
- 设计模式:创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。
编程题
package leetcode;
import java.util.Scanner;
public class juzhenzhuanzhi {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 给定一个矩阵 A, 返回 A 的转置矩阵。
* 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。*/
Scanner sc=new Scanner(System.in);
System.out.print("Enter row and col:");
int rowlen=sc.nextInt();
int collen=sc.nextInt();
int A[][]=new int[rowlen][collen];
//System.out.print("[");
for(int i=0;i<rowlen;i++){
for(int j=0;j<collen;j++){
A[i][j]=sc.nextInt();
}
}
A=transpose(A) ;
System.out.print("[");
for(int i=0;i<A.length;i++){
for(int j=0;j<A[i].length;j++){
if(j==A[j].length-1&&i!=A.length-1){
System.out.print(A[i][j]+"]"+",");
}else if(j==0){
System.out.print("["+A[i][j]+",");
}else if(j==A[j].length-1&&i==A.length-1){
System.out.print(A[i][j]+"]]");
}else{
System.out.print(A[i][j]+",");
}
}
}
}
public static int[][] transpose(int A[][]){
int B[][]=new int[A.length][10];
for(int i=0;i<A.length;i++){
for(int j=0;j<A[i].length;j++){
B[i][j]=A[j][i];
}
}
return B;
}
}