面向对象编程

PHP语言的面向对象编程 面向对象编程是一种通过“对象”来组织代码的编程范式。与传统的过程式编程不同,OOP注重将数据与操作数据的函数封装在一起,从而提高代码的可重用性、可维护性和可扩展性。类(Class):类是创建对象的蓝图或模板,它定义了对象的属性和行为。对象(Object):对象是类的实例,通过类来创建,具有类定义的属性和行为。封装(Encapsulation):通过封装,将对象的内部状态保护起来,外部只能通过公共方法访问或修改这些状态。继承(Inheritance) 阅读详情

 

Ext.namespace("XXX.train");

 

XXX.train.commentShowWin = function(config)

{

    Ext.apply(this, config);

 

    // 数据源

    this.store = new Ext.data.Store

    (

        {

            url : '../trainComment/get_unfinish_detail?train='+this.uid,

            waitMsg : 'Loading',

            reader : new Ext.data.JsonReader

            (

                {

                    root : 'items',

                    id : 'id',

                    totalProperty : "totalCount",

                    fields :

                    [

                        'id',

                        'train_name',

                        'employee_name',

                        'status_name'

                    ]

                }

            )

        }

    );

    this.store.load();

    this.cm = new Ext.grid.ColumnModel

    (

        [

            {header: "培训标题", width: 50, sortable: true, dataIndex: 'train_name'},

            {header: "参训人员", width: 50, sortable: true, dataIndex: 'employee_name'},

            {header: "反馈状态", width: 25, sortable: true, dataIndex: 'status_name'}

        ]

    );

    this.grid = new Ext.grid.GridPanel

    (

        {

            id         : Ext.id(),

            margins    : '2 2 2 2',  //为了不要与容器的边框重叠,设定2px的间距。

            loadMask   : true,

            store      : this.store,

            cm         : this.cm,

            plugins    : [new Ext.ux.plugins.FitToParent()],

            stripeRows : true,

            width      : '100%',

            header     : false,

            layout     : "fit",

            frame      : false,

            border     : false,

            viewConfig : {forceFit: true}

        }

    );

    this.form = new XXX.common.baseForm

    (

        {

            id          : this.form_id,

            height      : 400,

            width       : 800,

            items       : [this.grid]

        }

    );

 

    // 初始构造函数

    XXX.train.commentShowWin.superclass.constructor.call

    (

        this,

        {

            items : [this.form]

        }

    );

};

 

// 继承

Ext.extend

(

    XXX.train.commentShowWin,

    Ext.Window,

    {

        width : 800

    }

);

 

 

Ext.namespace("XXX.train");

 

XXX.train.totalShowWin = function(config)

{

    Ext.apply(this, config);

 

    // 讲师评估图表

    this.lector_store_conn = new Ext.data.Connection

    ({

        timeout : 1200000,

        url : '../trainComment/get_lector_avg',

        method : 'POST'

    });

    this.lector_store  = new Ext.data.Store

    (

        {

            proxy : new Ext.data.HttpProxy(this.lector_store_conn),

            waitMsg : 'loading',

            reader  : new Ext.data.JsonReader

            (

                {

                    root    : 'items',

                    fields  : ['type', 'count']

                }

            )

        }

    );

    this.lector_store.baseParams =

    {

        id : this.uid

    };

    this.lector_store.load();

    this.lector_panel = new Ext.Panel

    (

        {

            title : '讲师评估',

            width : 700,

            height : 200,

            frame : true,

            items   :

            {

                store           : this.lector_store,

                xtype           : 'columnchart',

                yField          : 'count',

                xField          : 'type',

                xAxis           : new Ext.chart.CategoryAxis

                (

                    {

                        title   : ''

                    }

                ),

                yAxis           : new Ext.chart.NumericAxis

                (

                    {

                        title   : ''

                    }

                ),

                extraStyle      :

                {

                   xAxis    :

                   {

                        labelRotation           : 0 // 字体倾斜度

                   }

                }

            }

        }

    );

 

    // 课程评估图表

    this.content_store_conn = new Ext.data.Connection

    ({

        timeout : 1200000,

        url : '../trainComment/get_content_avg',

        method : 'POST'

    });

    this.content_store  = new Ext.data.Store

    (

        {

            proxy : new Ext.data.HttpProxy(this.content_store_conn),

            waitMsg : 'loading',

            reader  : new Ext.data.JsonReader

            (

                {

                    root    : 'items',

                    fields  : ['type', 'count']

                }

            )

        }

    );

    this.content_store.baseParams =

    {

        id : this.uid

    };

    this.content_store.load();

    this.content_panel = new Ext.Panel

    (

        {

            title : '课程评估',

            width : 700,

            height : 200,

            frame : true,

            items   :

            {

                store           : this.content_store,

                xtype           : 'columnchart',

                yField          : 'count',

                xField          : 'type',

                xAxis           : new Ext.chart.CategoryAxis

                (

                    {

                        title   : ''

                    }

                ),

                yAxis           : new Ext.chart.NumericAxis

                (

                    {

                        title   : ''

                    }

                ),

                extraStyle      :

                {

                   xAxis    :

                   {

                        labelRotation           : 0 // 字体倾斜度

                   }

                }

            }

        }

    );

 

    // 总体平均分

    this.score = new XXX.common.DisplayField

    ({

        id : Ext.id(),

        labelStyle : 'width:250px;',

        fieldLabel : '本次培训的总体评价平均分(满分10分)'

    });

    Ext.Ajax.request

    ({

        url: '../trainComment/get_score_avg',

        success: function(response, options)

        {

            var result = Ext.util.JSON.decode(response.responseText);

            this.score.setValue(result.score);

 

        },

        failure: function(response, options)

        {

            this.score.setValue(0);    

        },

        scope : this,

        params: { id : this.uid }

    });

 

    this.train_result = new Ext.form.TextArea

    ({

        xtype       : 'textarea',

        anchor      : '95%',

        id          : Ext.id(),

        name        : 'train_result',

        grow        : true,

        growMax     : 150,

        growMin     : 50,

        fieldLabel  : '培训收获'

    });

    Ext.Ajax.request

    ({

        url: '../trainComment/get_train_result',

        success: function(response, options)

        {

            var result = Ext.util.JSON.decode(response.responseText);

            this.train_result.setValue(result.train_result);

        },

        failure: function(response, options)

        {

            this.train_result.setValue(0);

        },

        scope : this,

        params: { id : this.uid }

    });

 

    this.train_question = new Ext.form.TextArea

    ({

        xtype       : 'textarea',

        anchor      : '95%',

        id          : Ext.id(),

        name        : 'train_question',

        grow        : true,

        growMax     : 150,

        growMin     : 50,

        fieldLabel  : '学员的问题与建议'

    });

    Ext.Ajax.request

    ({

        url: '../trainComment/get_train_question',

        success: function(response, options)

        {

            var result = Ext.util.JSON.decode(response.responseText);

            this.train_question.setValue(result.train_question);

        },

        failure: function(response, options)

        {

            this.train_question.setValue(0);

        },

        scope : this,

        params: { id : this.uid }

    });

 

    this.form = new XXX.common.baseForm

    (

        {

            id          : this.form_id,

            labelWidth : 200,  

            items       :

            [

                this.lector_panel,

                this.content_panel,

                this.score,

                this.train_result,

                this.train_question,

            ],

            buttons:

            [

                {

                    xtype   : 'submitbtn',

                    text: '提交',

                    handler: function()

                    {

                        if(this.form.getForm().isValid())

                        {

                            this.form.getForm().submit

                            (

                                {

                                    url : '../trainComment/train_comment',

                                    waitTitle : "消息提示",

                                    waitMsg : '保存数据......',

                                    scope:this,

                                    success : function(temp_form,action)

                                    {

                                        parent.set_text(action.result.msg,action.result.status);

                                        if(action.result.status == 10010)

                                        {

                                            grid.getStore().reload();

                                            this.close();

                                        }

                                    },

                                    failure : function()

                                    {

                                        parent.set_failure_text();

                                    }

                                }

                            );

                        }

                    },

                    scope : this

                },

                {

                    xtype : 'cancelbtn',

                    text : '取消',

                    handler : function()

                    {

                        this.close();

                    },

                    scope : this

                }

            ]

        }

    );

 

    XXX.train.totalShowWin.superclass.constructor.call

    (

        this,

        {

            items : [this.form]

        }

    );

};

 

// 继承

Ext.extend

(

    XXX.train.totalShowWin,

    Ext.Window,

    {

        maximized : false,

        maximizable : true, 

        width : 800

    }

);

 

 

MATLAB语言的面向对象编程 以下是一个简单的类定义示例:```matlabpropertiesRadius % 圆的半径endmethods% 构造函数,初始化半径endend% 计算圆的面积end% 计算圆的周长endendend```在上面的代码中,我们定义了一个名为Circle的类,该类具有一个属性Radius,以及三个方法:构造函数、getArea和。构造函数用于初始化对象的半径属性。 阅读详情

相关推荐

MIKE11实战:平原河网水动力建模从入门到精通(附GIS数据处理技巧)

本文系统介绍了MIKE11软件在平原河网水动力建模中的完整实战流程。从GIS数据预处理、河网构建、参数率定到结果分析,详细阐述了构建可靠数字孪生模型的关键步骤与技巧,旨在帮助水利工程师高效解决平原地区复杂水流模拟的挑战,为防洪决策提供科学依据。

weixin_28419039的博客 689

js文件中定义全局配置文件

       配置文件能够大大提高代码的可复用性,把一些变量提取出来,也可以方便代码的维护,需要改个参数、地址之类的直接到配置文件里面改就行了,不用找到具体的实现代码。        如何定义一个全局可调用的配置文件: var config = (function($){ $.testConfig = { contextPath:'http://localhost:8080/test'...

wml00000的博客 8254

SRA数据库

简介 序列读取存档(sequence Read Archive,SRA)数据是可通过多个云提供商和NCBI服务器获得的,它是最大的可公开获得的高通量测序数据存储库。 SRA接受来自生活各个部门以及宏基因组学和环境调查的数据。 SRA存储原始测序数据和比对信息,以提高可重复性并通过数据分析促进新发现。 NCBI网站储存二代测序原始数据的数据库 SRA官网 从Entrez搜索结果中下载SRA序列 例如查找SRA Entrez中BALB / c小鼠淋巴结组织的RNA-Seq记录 获取搜索结果 SRA se

qq_44520665的博客 5912

js定义全局配置文件

var config = (function($){ $.testConfig = { contextPath:'http://localhost:8080/test', collection :{ hello: '你好' }, maps:[ {id:'map1',url:'*********'}, {id:'map2',url:'*********'} ] } return $; })(...

java爱好者 783

【系统分析师】2026年上半年真题:论文及解题思路

四篇论文围绕系统与开发实践展开: 安全架构设计强调数据加密(国密算法)、零信任访问控制及容灾架构,以某医疗云平台为例,实现RTO<5分钟的高可用保障。 架构风格应用解析微服务/事件驱动等风格选型,结合电商平台案例,通过服务拆分与异步通信提升扩展性。 需求评审机制提出正式评审与走查结合的方法,在金融系统中减少30%返工,解决业务规则二义性问题。 LLM测试生成利用大模型从需求/代码生成用例,辅以人工校验,使测试效率提升50%,覆盖边缘场景。 各篇均遵循“背景-理论-实践”结构,突出

数据知道的博客 783

ESP32开发进阶:1.接入文心一言

ESP32开发进阶:接入文心一言大模型,串口对话

qq_53529450的博客 1431

OHIF记录(六)——窗口基础配置window.config

OHIF记录(六)——窗口基础配置window.config 关于OHIF窗口的配置信息可以在浏览器内看到,输入http://website/app-config.js即可看到当前窗口配置文件的源码。其中website是你网站的域名,如果是在本地测是,将website换成localhost:端口号就行。 源码中有一些现成的配置文件在路径:viewers/platform/viewer/public/config文件夹下边,默认使用default.js文件,文件里有一个window.config的对象,对象通

无聊写写~ 6766

“软开关”硬技术!ZVS和ZCS到底谁更牛?看完这个例子你就懂了!

❌ ZVS 和 ZCS 是万能的?→ 不,它们都有实现条件,谐振参数选不好照样硬拐弯!❌ 只要有谐振就一定ZVS?→ 不,一定要设计合适的死区时间和负载条件才行!ZVS 是让电压先“冷静”,ZCS 是让电流先“退场”。一个是开门不撞墙,一个是关门不甩门。懂了它们,功率设计就是在跳华尔兹而不是打架!💃🔌。

weixin_43199439的博客 1239

Python初学者(续2)

转自:https://piao.blog.ustc.edu.cn/?p=164 摘自:《Python编程实践》 12、构建应用程序 函数 常规参数,如果给某个函数指定了默认函数值,则那些没有默认值的参数就必须放在最前面:例如 def total(values,start=0,end=None): if end is None: en

世事洞明皆学问 876

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种!

Coding... 2852

隧道裂缝检测【C++PCL】

我们团队注重每一个细节,确保代码的可读性、可维护性和可扩展性达到最高标准。我们严格遵循行业最佳实践,采用模块化和面向对象的设计原则,使得我们的代码结构清晰且易于理解。我们的点云服务更是引以为傲。我们的技术团队拥有深厚的专业知识和丰富的经验,能够提供高度准确和高效的点云处理服务。无论是点云的获取、存储还是分析,我们都能够满足客户的需求,并提供出色的解决方案。我们的技术实力也是无与伦比的,拥有广泛的技术背景和深入的专业知识。

weixin_45196569的博客 848

javascript面向对象编程(基础知识点)

1.此文章主要作为自己学习javascript的一个学习记录,随着es6的出来,js面向对象变的越来越真的面向对象了,为什么这么说额,从自身的学习而言,虽然js是一门面向对象的语言,但是在我们以前的使用中,几乎很少用到他面向对象的思想,而且他这个本身面向对象也和传统我们学习的面向对象语言不太一样,作为一个java程序员,我是感觉很不一样的,不论他对象的存在,继承,多态,实例等等都有他的特别之处,所

satisfy 1301

120、NPU的Mythic M1076:模拟存算一体NPU

这篇文章分享了作者调试Mythic M1076模拟存算一体NPU的实战经验,主要包含以下要点: 硬件设计陷阱:参考电压输入必须使用低ESR电容,普通贴片电容会导致模拟计算阵列工作异常。 核心技术原理: 采用真正的存算一体架构,将权重存储为模拟电压 使用浮栅晶体管存储权重,通过电流叠加实现乘法运算 包含108个计算单元阵列(Tile),每个256×256规模 使用注意事项: 编程模型特殊,需要依赖SDK自动映射网络层 存在6-8位有效精度限制,需用量化感知训练 功耗特性独特,静态偏置电流占主要功耗 调试手段有

m0_50546716的博客 122

Java面向对象编程

Java面向对象部分

weixin_44525733的博客 2988

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[JavaScript] 面向对象编程

通过类与对象的概念,可以更好地模拟现实世界的实体,提升代码的可重用性、可维护性和扩展性。JavaScript 的面向对象编程非常灵活,类的引入让代码更加清晰和直观。多态是指不同的类在调用相同方法时,可以表现出不同的行为。静态方法是直接定义在类上的方法,而不是在实例上的方法。在 JavaScript 早期,使用函数和原型链实现面向对象的思想,语法复杂且容易出错。继承允许我们定义一个类,继承另一个类的属性和方法,从而实现代码复用。是用来定义对象蓝图的关键字,其中包含对象的属性和方法。调用父类的构造函数。

kevin_blog 2485

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

js面向对象编程

面向对象编程其实是一种思想(面向过程,面向对象) 面向过程: 比如说你现在肚子饿了,想要去吃面条,那么在做面条的过程中用多少面粉,用多少水,怎么和面和切面条 ...

Oriental_的博客 5721

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python面向对象编程

Python不只是解释性语言,也是一门面向对象的编程语言。本文先介绍面向对象编程,再逐步讲解类和对象的定义、属性及方法。类使得程序设计更加抽象,通过类的继承及其他常用方法,可以让程序语言更接近人类的语言。

Morse_Chen的博客 2073

【Python】系列之面向对象编程

对象(class)是一种抽象的概念,上面定义的对象Person,指的就是学生这个概念,而实例(instance)则指一个个具体的对象,例如上面的张三丰和l张无忌就是两个具体的Person,也就是实例从上面的案例可以看出,面向对象的程序设计思想其实就是抽象出对象(class),然后根据对象创建实例(instance)最后,面向对象的抽象程度比函数高,因为一个对象既包含数据,也包含操作数据的方法,封装、继承、多态是面向对象的三大特点。

康师傅没有眼泪 6512

Python 面向对象编程

在Python中,类(Class)是面向对象编程(Object-Oriented Programming, OOP)的基础概念。类是创建对象(Object)的蓝图,它定义了对象的属性和方法。每个对象都是类的一个实例,具有类定义的属性和行为。类是一种用户自定义的数据结构,它包含了一组属性(成员变量)和行为(成员方法)。在Python中,可以使用class关键字来定义一个类,并使用def关键字来定义类的成员方法。使用class关键字定义一个类,类名作为该类的标识符。

2201_75479454的博客 2567

【Python基础】Python面向对象编程

​ Python面向对象编程(简称OOP)是Python语言中最重要的特性之一。它是一种通过“对象”来设计软件的方法。它通过将数据和操作数据的方法封装在对象中,使得程序更加模块化、可重用和易于维护。它遵循一切皆对象的理念,可以将现实世界的事物使用类与实例进行模拟。​ 对于初学者来说,理解面向对象编程的基本原理和Python中的实现方式是非常有帮助的。本文旨在为初学者提供一个易于理解的Python面向对象编程介绍,并探讨其在实际编程中的应用和优势。什么是Python?

分享是一种境界,勤于分享,乐于分享! 2121

TypeScript语言的面向对象编程

TypeScript是一种由微软开发的开源编程语言,它是JavaScript的超集,支持可选的静态类型。TypeScript提供了强大的类型系统和现代的语言特性,如接口、枚举、泛型等,从而在编写复杂应用时能够提供更多的安全性和效率。TypeScript作为一种现代编程语言,完美融合了JavaScript的灵活性与面向对象编程的强大特性,给开发者提供了一个高效的开发环境。通过封装、继承和多态等理念,TypeScript能够帮助我们更好地组织代码,提高代码的重用性和可维护性。

2401_90086250的博客 2018

【python学习】面向对象编程以及面向对象编程的核心概念和使用方法

面向对象编程:从对象和类出发,将问题分解为一系列相互交互的对象和类,数据(属性)和操作(方法)被封装在一起,形成独立的对象

ya的博客 2321

漫画:面向对象编程

你们有没有见过一本全是在讲技术的漫画书?今天就来给你介绍一本《漫画面向对象编程Java语言版 》,这是一本用漫画方式来给你讲技术的书籍,幽默风趣,又可看漫画又可学技术,是不是很赞,下面开始这本书的表演... 故事的开始 面向对象简介 如何由类创建一个对象 ...

程序人生的博客 4474

PHP面向对象编程总结

学习PHP时,面向对象编程(OOP)往往是一个重要的里程碑。PHP的OOP功能提供了一种更加模块化、可扩展和易于维护的代码结构。在本文中,我们将深入探讨PHP面向对象编程的各个方面,包括类与对象、访问控制、继承与多态、抽象类与接口、静态成员与常量、魔术方法、命名空间以及异常处理。

AlanKSorata的博客 1217

JavaScript面向对象编程

例如,我们可以定义一个人类(Person)的类,这个类包括属性(姓名、年龄、性别)和方法(吃饭、睡觉等),然后通过构造函数来创建人类的对象。封装(Encapsulation)是面向对象编程的一种基本原则,它指的是将对象的属性和方法组合在一起,形成一个独立的单元,并对外部隐藏对象的实现细节。这样可以保证代码的灵活性和可维护性。在上面的例子中,我们使用字面量的方式创建了一个名为p2的对象,它具有name为’Jerry’、age为25、gender为’female’的属性和eat、sleep两个方法。

Kali与编程 1984
上一篇: store读取数据超时解决方案
下一篇: 异步获取数据格式化成json
xcd86
博客等级 码龄20年 2粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值