PHP面向对象编程PPT课件
- 格式:pptx
- 大小:203.75 KB
- 文档页数:43


PLC的面向对象编程
文章后面关于程序标准化的优越性,作者写到“传统的中国控制工业,一个程序设计由一个人完成,这样他还必须 负责现场调试,而拥有丰富经验的程序员一般是三十岁后,这时他已经成家,而显然长期出差对家庭不利,很多优秀的程序员为了家庭考虑不得不改行,要么转到管理岗位,要么去制造工厂搞设备维护,这是资源的严重流失。毫无疑问,使用以上的设计流程,我么可以让经验丰富的程序员搞标准库和架构的设计,而让刚踏入这 个行业的年轻人搞应用设计和调试,这不仅可以让老程序员继续他自己的工作,而不影响家庭,也可以让年轻的程序员参入现场调试,培养自己的经验,提高自己的收入。”
感慨啊感慨。
――――――――――――――――――――――――――――
作者:吴向阳
出处:
阅读:572
发布时间:2007-10-19 10:56:00
供稿:
面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如 “继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。在计算机编程中我们需要把一些事物抽象和归纳,才能编写类,而在工业控制系统中,控制对象如:电机,阀等等是很明显的控制类别,不需要抽象就可以很明显的针对它 们编写类,以下将会用到西门子的Step7编程语言和施奈德的Unity 编程语言来讲解PLC的面向对象编程。
一、 实现方式
在Step7中使用功能块(即FB)编程,一谈到此大家就会想到西门子提出的模块化编程,不错,就是这个模块化编程,但西门子提出的模块化、背景数据块、多重背景等名词并不能让大家很明白的理解和使用这种优秀的设计理念。如果大家从面向对象编程的角度去理解,则可以很好的理解这种设计模式。“FB块”被看 成“类”,它可以被看成是对相似的控制对象的代码归纳,如对MM440的变频器可以编写FB块:MtrMM440,这在面向对象编程中称为“类”,当需要 编程控制具体的电机时,可以给它分配一个背景DB块,在面向对象编程中称为类的实现(即创建类的实例:对象),当需要控制多个电机时,可以分配不同的背景 DB到这个FB块,即创建类的多个实例。Step7中有另外一种程序块,即FC块,以FC块为主的编程在西门子中称为结构化编程,这也可以类比于计算机编程中的面向过程编程,即纯粹以函数为主体的编程。
实验二 面向对象编程(1)
1.实验目的
掌握Java程序面向对象编程的基本架构,会运用面向对象的思想编写Java程序。
2.实验内容
实验题1 阅读如下程序,完成思考题。
class CCircle
{ double pi;
double radius;
double getRadius()
{ return radius;
}
void setCircle(double r, double p)
{ pi=p;
radius=r;
}
}
public class Ex2_1
{ public static void main(String args[])
{ CCircle cir1=new CCircle();
cir1.setCircle(2.0,3.1416);
System.out.println("radius="+cir1.getRadius());
}
}
[基本要求] 运行程序并观察运行结果。
[思考问题] 试述程序中主要语句的作用。
在类CCicle中,定义了两个全局变量pi和radius。
void setCircle(double r, double p)
{ pi=p;
radius=r;
}
为构造方法,初始化数据成员。
double getRadius()
{
return radius;
}
为类函数,返回值radius。
实验题2 设计一个用来描述汽车的类,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。
实验代码:
public class Car {
public String name;
Java面向对象编程思想
网络资源大家共享 Java面向对象编程思想
Java面向对象编程思想...................................................................................................................1
1 版权声明.......................................................................................................................................2
2 第一章.浅议..................................................................................................................................2
2.1 什么是类,什么是对象....................................................................................................2
2.2 类实例化的几个过程详解................................................................................................3
2.3 什么是继承........................................................................................................................4
2.4 什么是重载........................................................................................................................5
PHP面向对象详细解析
前言
学习PHP的小朋友们都知道,PHP在中小型企业的应用是非常广泛包括建站、小程序、CRM与OA等,那么作为基础中的基础,PHP面向对象你又掌握了多少呢?在这将就这个问题做一个详细的讲解。
正文
一、定义类 使用关键字class定义
二、实例化对象 使用关键字new实例化对象
三、类成员的添加和访问
(1)类成员:属性、方法、常量
(2)添加成员需要使用修饰符 public、protected、private
(3)修饰符的作用范围
public 类内类外子类
protected 类内子类
private 类内 (4)添加方法:如果方法前不带修饰符,默认带public;
(5)添加常量:const 常量名;
访问常量:类名::常量名;
::范围解析操作符
四、类内部对象$this和内存原理
$this是一个对象,指向实例化对象。当我们new实例化的时候,系统会给这个对象分配一个内存空间,内存空间分为栈内存和堆内存,将变量存在栈里,代码块存在堆里,然后堆的内存地址指向栈里的变量,如果再给栈中的变量赋值引用数据类型,内存地址就会被改变。
五、如果$a和$p指向同一个内存地址,它们是同一个对象,则改变一个则两个都会变
需要用克隆解决这个问题 关键字clone;通过clone来复制一个一模一样的对象,这样它们就不是同一个对象了;
六、构造函数和析构函数
(1)构造函数:我们在声明类的时候就存在这个函数,用new实例化时,函数自动调用。
public function __construct(){}; (2)析构函数:用于释放new实例化的内存空间,如果不销毁,会增加系统性能负荷;new实例化时,系统会自动调用;销毁原则:先人后出。
七、静态成员
静态成员的添加:在成员属性或方法前加关键字 static;
静态成员的访问: 内部使用:self::$变量;或 类名::$变量;
外部使用: 类名::$变量;