面向对象有限元编程|抽象
时间:2022-07-26
本文章向大家介绍面向对象有限元编程|抽象,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
抽象(Abstraction)指的是“在事物的诸多特征中,保留解决问题所需的部分特征”这一过程。在面向对象编程中,创建类时就要对客观事物进行合理的抽象。假如对一台手机进行抽象,即创建一个手机类。手机的特征很复杂,如品牌、外观颜色、重量、屏幕尺寸、屏幕分辨率、电池电量、内存、SIM卡类型、网络模式、操作系统、CPU型号、上市日期等等。解决的问题不同,手机类的属性和方法也就不同。如果分析手机的耗电量,那么只需要屏幕尺寸、屏幕分辨率、电池电量以及CPU型号这些与问题相关的特征。而忽略其他特征,这就是进行抽象。
class SmartPhone:
def __init__(self, screenSize, resolution, power, CPUtype):
self.screenSize = screenSize #屏幕尺寸
self.resolution = resolution #屏幕分辨率
self.power = power #电池容量mAh
self.CPUtype = CPUtype # CPU类型
#创建jPhone12手机
jPhone12 = SmartPhone(5.45, "1080p", 2900, "Exynos 9820")
仅仅是抽象还不够,得以保留的特征是属性还是方法?其实这并没有明确的界限。类的属性是存储数据的,方法就是函数,是操作数据的。如果考虑到内存的占用,可以写成方法,每次需要的时候调用 ,调用完可以释放。如果不考虑内存,可以保存为属性,这样可以全局调用。
对于一个桁架单元,其特征有编号、材料类型、横截面面积、两个节点的信息、单元长度、单元局部坐标与总体坐标的夹角、单元局部坐标与总体坐标的转换矩阵、单元局部坐标系下的刚度矩阵、单元整体坐标系下的刚度矩阵、应力矩阵、应变矩阵等等。
平板电脑和手机之间有相同点,也有不同点。在对平板电脑进行抽象时,可以借鉴对手机进行抽象的思路。同样,对于梁单元以及其它单元,也可以借鉴对桁架单元进行抽象的思路,做到触类旁通。
- Excel导出工具类.
- POI -纯java代码实现导出excel表格
- 程序员必知的8大排序(java实现)
- Struts2 s2-032远程代码执行分析
- 微信企业号二次开发--自定义菜单接口开发--应用中心
- 微信最新自定义菜单事件
- 微信JSSDK分享到朋友圈和朋友自定义内容功能实现
- 无线安全渗透测试套件WiFi-Pumpkin新版本发布
- Java使用QQ邮箱给其他邮箱发邮件
- 从wireshark抓包开始学习https
- 用于时间序列预测的Python环境
- Pandoc安装实现Markdown转PDF (CentOS6)
- String类replaceAll方法正则替换深入分析
- 微信硬件平台对接--蓝牙
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- mysql数据库中指定值在所有表中所有字段中的替换
- C语言火车订单管理源码
- c语言学生成绩管理系统源码
- web基础随笔
- 一次完整的JVM堆外内存泄漏故障排查记录
- ToughRADIUS 结合 Ldap 实现动态密码认证和MAC认证
- coscmd的应用
- scheduler-设计与实现
- 3分钟短文:太爽了,用Laravel写API接口!
- Spring mvc文件上传实现
- 「Mysql优化大师三」查询执行计划explain详解,含案例
- flutter BottomAppBar实现不规则底部导航栏
- Yarr:一个UI很漂亮的RSS阅读器
- kotlin Standard中的内联函数示例详解
- 解决react-native软键盘弹出挡住输入框的问题