前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向对象有限元编程|抽象

面向对象有限元编程|抽象

作者头像
fem178
发布2020-10-10 14:34:58
4310
发布2020-10-10 14:34:58
举报
文章被收录于专栏:数值分析与有限元编程

抽象(Abstraction)指的是“在事物的诸多特征中,保留解决问题所需的部分特征”这一过程。在面向对象编程中,创建类时就要对客观事物进行合理的抽象。假如对一台手机进行抽象,即创建一个手机类。手机的特征很复杂,如品牌、外观颜色、重量、屏幕尺寸、屏幕分辨率、电池电量、内存、SIM卡类型、网络模式、操作系统、CPU型号、上市日期等等。解决的问题不同,手机类的属性和方法也就不同。如果分析手机的耗电量,那么只需要屏幕尺寸、屏幕分辨率、电池电量以及CPU型号这些与问题相关的特征。而忽略其他特征,这就是进行抽象。

代码语言:javascript
复制
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")


仅仅是抽象还不够,得以保留的特征是属性还是方法?其实这并没有明确的界限。类的属性是存储数据的,方法就是函数,是操作数据的。如果考虑到内存的占用,可以写成方法,每次需要的时候调用 ,调用完可以释放。如果不考虑内存,可以保存为属性,这样可以全局调用。

对于一个桁架单元,其特征有编号、材料类型、横截面面积、两个节点的信息、单元长度、单元局部坐标与总体坐标的夹角、单元局部坐标与总体坐标的转换矩阵、单元局部坐标系下的刚度矩阵、单元整体坐标系下的刚度矩阵、应力矩阵、应变矩阵等等。

平板电脑和手机之间有相同点,也有不同点。在对平板电脑进行抽象时,可以借鉴对手机进行抽象的思路。同样,对于梁单元以及其它单元,也可以借鉴对桁架单元进行抽象的思路,做到触类旁通。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数值分析与有限元编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档