[原创][PowerShell教程][04]PowerShell面向对象基础之一
2008-03-24 23:14
429 查看
[align=left]本Blog所发表的所有"原创文章", 未经许可, 禁止以任何形式进行转载. [/align]
[align=left]作者: Edengundam(马涛)[/align]
面向对象编程的引入主要是为了解决软件复杂化带来的维护等问题,早在20世纪60年代,面向对象就已经出现了。虽然C语言并不支持面向对象的特性,但是使用C语言进行开发的程序人员已经将面向对象的核心思想应用到其中,因此我们更应该理解的是面向对象的思想,而不需要纠缠于语言本身。
PowerShell是基于对象的脚本语言,因此下面的介绍中我们主要侧重于介绍基本概念,并不会涉及如何进行面向对象编程。通过下面知识的学习,你将会了解PowerShell中需要掌握的基本对象知识,从而深刻理解PowerShell采用基于对象的管理带来的优势。
类(Class)
为物体(或者说是对象)定义的抽象特性,这些特性包括物体的特征(它的属性、域或特性)以及物体的行为(它可以做得事情、方法或操作)。某些人会说类就像是设计图或工厂一样,用来描述某些事物的自然特性。打个比方来说,狗这个类可能包含所有狗包含的共性,例如:品种和皮毛颜色(它们都是狗的特征)、叫和坐下(它们都是狗的行为)。
对象(Object)
类的特定实例(Instance)。解释很抽象?对象可以看做是你家的狗,或者你家邻居的狗。无论如何,它们都是狗类的实例。狗类定义一部分所有狗都具有的特性,例如:三条(显然狗主人很喜欢打麻将)是一只真实存在的狗,狗类中的信息就可以用来描述三条与其他狗的不同,三条的皮毛是棕色的。我们可以知道三条被归类为犬科,是狗类的一个实例。
方法(Method)
对象的能力。三条是一条狗,它能够叫,因此叫就是三条的方法。三条也许还有其他的方法,例如:原地转圈、作揖、坐下等等。
继承 (Inheritance)
子类是一个类的特殊版本,它继承父类的属性和行为,并引入自己特有的属性和行为。
我们还是回到前面的例子讨论,狗按照品种划分有很多种,例如:黄金牧羊犬、柯利牧羊犬和吉娃娃。三条是柯利牧羊犬的实例,例如狗类中已经定了了方法叫和属性皮毛颜色。所以每一个狗类的子类都可以直接继承这些信息,不需要额外重新定义这些冗余的信息
子类可以改变继承的特性。例如:柯利牧羊犬可能指定默认的皮毛颜色为棕色和白色。而吉娃娃子类可能默认指定方法“叫”是产生高音调的叫声。子类还允许引入新成员,例如吉娃娃子类可能引入方法“颤抖”(吉娃娃的胆子很小,所以遇到危险就会颤抖)。吉娃娃对象还有一个颤抖的方法,但是三条没有,这是因为三条是柯利牧羊犬,而不是吉娃娃。
[align=left]作者: Edengundam(马涛)[/align]
面向对象编程的引入主要是为了解决软件复杂化带来的维护等问题,早在20世纪60年代,面向对象就已经出现了。虽然C语言并不支持面向对象的特性,但是使用C语言进行开发的程序人员已经将面向对象的核心思想应用到其中,因此我们更应该理解的是面向对象的思想,而不需要纠缠于语言本身。
PowerShell是基于对象的脚本语言,因此下面的介绍中我们主要侧重于介绍基本概念,并不会涉及如何进行面向对象编程。通过下面知识的学习,你将会了解PowerShell中需要掌握的基本对象知识,从而深刻理解PowerShell采用基于对象的管理带来的优势。
类(Class)
为物体(或者说是对象)定义的抽象特性,这些特性包括物体的特征(它的属性、域或特性)以及物体的行为(它可以做得事情、方法或操作)。某些人会说类就像是设计图或工厂一样,用来描述某些事物的自然特性。打个比方来说,狗这个类可能包含所有狗包含的共性,例如:品种和皮毛颜色(它们都是狗的特征)、叫和坐下(它们都是狗的行为)。
对象(Object)
类的特定实例(Instance)。解释很抽象?对象可以看做是你家的狗,或者你家邻居的狗。无论如何,它们都是狗类的实例。狗类定义一部分所有狗都具有的特性,例如:三条(显然狗主人很喜欢打麻将)是一只真实存在的狗,狗类中的信息就可以用来描述三条与其他狗的不同,三条的皮毛是棕色的。我们可以知道三条被归类为犬科,是狗类的一个实例。
方法(Method)
对象的能力。三条是一条狗,它能够叫,因此叫就是三条的方法。三条也许还有其他的方法,例如:原地转圈、作揖、坐下等等。
继承 (Inheritance)
子类是一个类的特殊版本,它继承父类的属性和行为,并引入自己特有的属性和行为。
我们还是回到前面的例子讨论,狗按照品种划分有很多种,例如:黄金牧羊犬、柯利牧羊犬和吉娃娃。三条是柯利牧羊犬的实例,例如狗类中已经定了了方法叫和属性皮毛颜色。所以每一个狗类的子类都可以直接继承这些信息,不需要额外重新定义这些冗余的信息
子类可以改变继承的特性。例如:柯利牧羊犬可能指定默认的皮毛颜色为棕色和白色。而吉娃娃子类可能默认指定方法“叫”是产生高音调的叫声。子类还允许引入新成员,例如吉娃娃子类可能引入方法“颤抖”(吉娃娃的胆子很小,所以遇到危险就会颤抖)。吉娃娃对象还有一个颤抖的方法,但是三条没有,这是因为三条是柯利牧羊犬,而不是吉娃娃。
相关文章推荐
- shell基础总结
- 九种经典Webshell提权
- 拿webshell权限的45种方法
- Shell 批量重命名以“.log”结尾的文件
- Windows Shell 编程 第一章
- I/O重定向 详解及例子!
- shell脚本统计: netstat数据
- Windows Shell 编程
- 用Shell脚本实现自动从NewSmth.net的MyPhoto版下载照片
- Linux系统下查看文件调用情况Shell命令
- VipShell驱动隐藏模块
- U盘病毒及其相关资源的分析(patch shell32.dll)
- 从卡巴漏洞管窥内核模式Shellcode的编写
- 系统级ring3后门——byshell v0.64编程与应用
- to bashman
- SHELL编程基础 By jackie
- 编写启动程序和停止程序的shell脚本
- Linux shell 中参数变量&shell中的双引号
- 常用shell脚本命令总结(添加中。。。)
- shell的基本概念