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

梳理你的思路(从OOP到架构设计)_认识EIT造形与内涵

目录

1、 认识类(Class)与内涵

2、 认识EIT造形与内涵

EIT造形: 类造形的组合​编辑

复习EIT的基本形与变形​编辑

不同内涵 + EIT造形


1、 认识类(Class)与内涵

  • 回顾

        

  • 类(Class)是比较小的造形

     

  • 各种不同内涵,可以透过类(Class)的形式(Form)来呈现出来。
  • 类造形就像集装箱(Container) ,可以容纳各种内涵。
  • 集装箱的形式大多与内涵无关。

2、 认识EIT造形与内涵

EIT造形: 类造形的组合
复习EIT的基本形与变形
  • EIT 造形就像比類(Class)大的集裝箱。
  • 就像集装箱也有不同形式(即變形)。
  • EIT造形有2种变形,如下:
不同内涵 + EIT造形
  • 线程(Thread)内涵 + EIT造形

       

  • UI窗口(View)内涵 + EIT造形
// myView.java
// ………
public class myView extends View {
    private Paint paint= new Paint();
    private int line_x = 100;
    private int line_y = 100;
    private float count = 0;
    myView(Context ctx) { super(ctx); }
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            //-----------------------------------------------------
            if( count > 12) count = 0;
            int x = (int) (75.0 * Math.cos(2*Math.PI * count/12.0));
            int y = (int) (75.0 * Math.sin(2*Math.PI * count/12.0));
            count++;
            //---------------------------------------------

            canvas.drawColor(Color.WHITE);
            paint.setColor(Color.BLACK);
            paint.setStrokeWidth(3);
            canvas.drawLine(line_x, line_y, line_x+x, line_y+y, paint);
            paint.setStrokeWidth(2);
            paint.setColor(Color.RED);
            canvas.drawRect(line_x-5, line_y - 5, line_x+5, line_y + 5, paint);
            paint.setColor(Color.YELLOW);
            canvas.drawRect(line_x-3, line_y - 3, line_x+3, line_y + 3, paint);
        }
}
  • 将上述两个有内涵的EIT造形,加以组合起来

        

  • 将Thread造形与View造形做些组合,可以创造出双线程的绘图循环: View造形的UI线程与Thread造形的小线程,联合控制了绘图循环。
     
  • 在游戏软件应用上,这个Thread造形里的小线程(由UI线程所诞生的)扮演一个特殊的角色:成为游戏的主控循环(Game Loop),而UI线程则专注于响应UI 的事件,创造出两个线程完美分工。由于这个线程专注于游戏主控循环,所以又称为游戏线程(Game Thread)

http://www.kler.cn/a/441718.html

相关文章:

  • 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(1.标准版)
  • Spring MVC:设置响应
  • 解决后端接口返回Long类型参数导致的精度丢失问题
  • 深入解析人工智能中的协同过滤算法及其在推荐系统中的应用与优化
  • 用JAVA写算法之输入输出篇
  • React 表单处理与网络请求封装详解[特殊字符][特殊字符]
  • 编译glibc
  • 【YashanDB知识库】如何处理yasql输入交互模式下单行字符总量超过限制4000字节
  • 商业智能汽车充电桩 功能介绍
  • SpringBoot整合MybatisPlus报错Bean不存在:NoSuchBeanDefinitionException
  • C#高级:Winform桌面开发中TreeView的基础例子
  • PH热榜 | 2024-12-17
  • 【多维 DP】力扣2400. 恰好移动 k 步到达某一位置的方法数目
  • 陕西科技大学《2024年807自动控制原理真题》 (完整版)
  • You need to call SQLitePCL.raw.SetProvider()
  • Java中的设计模式全解及电商应用场景示例
  • IP数据云查询IP归属地信息
  • 数据结构:Win32 API详解
  • CXF WebService SpringBoot 添加拦截器,处理响应报文格式
  • React里循环tab列表,并实现点击切换class
  • C语言学习day19:结构体/枚举/共用体/游戏结构体的逆向分析
  • Uniapp安卓端获取手机号码
  • Docker中 localhost 与 0.0.0.0 的区别详解
  • oracle client linux服务器安装教程
  • git SSL certificate problem: unable to get local issuer certificate
  • 只出现一次的数字(字节面试题 最优解)