什么叫面向对象?:什么叫做面相对象


“不娶仰头女,不嫁低头汉”这句俗语有什么含义?
其实在我们现在的社会当中,尽管”以貌取人“并不是提倡种做法,但是往往还是有很多人会把自己对他人的印象放在外貌上,就在古代也是如此,每次一看人的时候就会去研究对方的面相,因此为什么古代很多人一眼就能看出此人是帝王之相,或者可能一生碌碌无为,相由心生也不是没有道理的,尤其是在老一辈人眼中看人更加的准确 。
因为他们比较注重细节,一个人的细节往往决定这个人将来的成败,也体现了他做人的品质,因此不管是在处朋友还是在结婚找对象的时候,古人都会从外貌上先给这个人有一番评判,因此在民间也就有了不少关于这一方面的俗语,我想在农村生活的人就会经常听到老一辈人口中唠叨俗语,能够流传至今还是有它的道理的,话糙理不糙嘛,而且俗语通俗易懂还很好记,是古人用自己的实践经验留下教育我们后人的,处处体现了智慧 。
这句话就是:不娶仰头女,不嫁低头汉 。我们虽然都说要注重一个人的内在,但还有不少人仍然比较重视颜值,可是颜值虽然也很关键,但是长久不了,总有一天也会变老,而古人这句话,也并非是在说颜值,而是更多的指内在,毕竟古人淳朴,农村人更是透露着朴素,又怎会去在意那么多的外貌呢?

这里所说仰头女,也许大家觉得是抬头挺胸的女子,这样的话好像也没什么不对,女人这样走更能让自己显得很精神,那么形象也就增加了,而且会让自己更加的自信,相比起来驼背走路更受人的欢迎,但是在古代来说可不是这么想的,反而有着不一样的命 。
都知道古代男子占据主导社会,所以很多女人都没有自己该有的权利,被三从四德,以及三寸金莲等束缚着,好像那个社会下女子就被该着呀个,因此他们觉得那些仰头走的女人有野心比较喜欢好胜,女子应当内敛,这样才不会和丈夫发生矛盾,对家庭也不会受到影响 。
而低头汉也有相同的意思,也就是说嫁人的时候不要选择这类人,因为在古人看来,男儿就应该顶天立地,然后努力去养家,抬头挺胸是一个男人骨子里的傲气和自信,要是低头就很卑微了,容易被人欺负,更别说养家了,这种男子在古代是很不被看得起的,因此也会被自己的老婆嘲笑,那么长时间下来家庭也深受影响,而且古人也觉得低头的这类人,心机往往比较深 。
【什么叫面向对象?:什么叫做面相对象】其实古人在说这两句话的时候,出发点是好的,都是希望儿女能够寻得意中人,家庭能够和睦,但是现在我们的社会发展来看,这种理论好像不适用了,光从低头抬头就看一个人的品行实在是肤浅,也许低头只是为了低调呢?真的不能一概而论,而能让婚姻和睦还是需要两个人去相互理解的,在婚前就要去了解到对方是怎样的人 。

什么叫面向对象?
指向对象的程序
面向对象编程是什么意思?
这里的对象指的是实例,比如某个控件(文本框、按钮等)、窗体等等 。
面向对象编程大概意思就是:在有对象的基础上,对对象进行编写代码等 。
面向对象编程是什么意思
c
概念:面向对象序设计(Object-Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者 。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中 。面向对象的编程语言使得复杂的工作条理清晰、编写容易 。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言 。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟 。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多 。有人可能会说PHP不是一个真正的面向对象编程的语言,PHP 是一个混合型 语言,你可以使用面向对象编程,也可以使用传统的过程化编程 。然而,对于大型项目的开发,你可能想需要在PHP中使用纯的面向对象编程去声明类,而且在你的项目开发只用对象和类 。随着项目越来越大,使用面向对象编程可能会有帮助,面向对象编程代码很容易维护,容易理解和重复使用,这些就是软件工程的基础 。在基于Web的项目中应用这些概念就成为将来网站成功的关键 。
对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体 。关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象 。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象 。当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性 。

面向对象的三个重要特征是什么
- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象面 。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么 。
- 继承:继承是从已有类得到继承信息创建新类的过程 。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类) 。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分) 。
- 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口 。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象 。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装 。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情) 。
- 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应 。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情 。多态性分为编译时的多态性和运行时的多态性 。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力) 。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定) 。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1). 方法重写(子类继承父类并重写父类中已有的或抽象的方法);2). 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为) 。
什么叫面相对象?
http://www.jade-china.net/data/2005/1229/article_31.htm
转自:伊图网[www.4ico.com]在阐述类的之前我们来先说说面向对象编程的概念:面向对象的程序设计(Object-Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者 。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中 。面向对象的编程语言使得复杂的工作条理清晰、编写容易 。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言 。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟 。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多 。有人可能会说PHP不是一个真正的面向对象编程的语言,PHP 是一个混合型 语言,你可以使用面向对象编程,也可以使用传统的过程化编程 。然而,对于大型项目的开发,你可能想需要在PHP中使用纯的面向对象编程去声明类,而且在你的项目开发只用对象和类 。随着项目越来越大,使用面向对象编程可能会有帮助,面向对象编程代码很容易维护,容易理解和重复使用,这些就是软件工程的基础 。在基于Web的项目中应用这些概念就成为将来网站成功的关键 。
对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体 。关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象 。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象 。当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性 。
在PHP里我们可以定义一个类,类(Class)就是指变量与一些使用这些变量的函数的集合 。PHP是一种松散类型的语言,所以通过类型重载不起作用,通过参数的个数不同来重载也不起作用 。有时在面向中重载构造函数非常好,这样你可以通过不同的方法创建对象(传递不同数量的参数) 。在PHP中就是通过类来实现的 。
在PHP中是通过类来完成信息封装的,在PHP中定义类的语法是:
<?php
class Class_name // 在面向对象编程类中,习惯上类的第一个字符为大写,并且必须符合变量的命名规则 。
{
//函数与变量的集合
}
?>
在定义类时你可以按自已的喜好的格式进行定义,但最好能保持一种标准,这样开发起来会更有效些 。
数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的 。一个数据成员可以是一个整数,一个数组,一个相关数组(Associative Array)或者是一个对象 。
下面是一个类定义的实际例子:
<?php
class Student
{
var $str_Name; //姓名
var $str_Sex; //性别
var $int_Id; //学号
var $int_English; //英语成绩
var $int_maths; //数学成绩
}
?>
这是一个很普通定义类的简单例子,用于显示学生的学习成绩,类名为Student,Student类包涵了一个学生的基本属性:姓名、性别、学号、英语成绩和数学成绩 。
function我们称之为在类中被定义的函数,在函数中访问类成员变量时,你应该使用$this->var_name,其中var_name指的是类中被声明的变量,否则对一个函数来说,它只能是局部变量 。我们先定义一个Input()的函数,用来给实例中的对象赋以初值:
function Input ( $Name, $Sex, $Id, $Englis, $Maths)
{
$this->str_Name=$Name;
$this->str_Sex =$Sex;
$this->int_Id =$Id;
$this->int_Englis=$English;
$this->int_Maths=$Maths;
}
现在我们再定义一个叫“ShowInfo()”的函数,用于打印学生的基本情况:
function ShowInfo() //定义ShowInfo()函数
{
echo (“姓名:$this->str_Name

”);
echo (“性别:$this->str_Sex

”);
echo (“学号:$this->int_Id

”);
echo (“英语成绩:$this->int_English

”);
echo (“数学成绩:$this->int_Maths

”);
}
而定义好的类则必须使用new关键词来生成对象:
$A_student=new Student;
例如我们要为一个名为$Wing的对象创建实例,并进行赋值,可以使用下面的代码:
$Wing =new Student; //用new关键词来生成对象
$Wing ->Input (“Wing”,”男”,33,95,87);
//分别输入Wing的姓名、性别、学号、英语成绩、数学成绩,其中姓名和性别是字符型变量,所以需要用双引号,其它为数值型变量则不需要 。
通过下面这段完整的源代码,我们就可以很清楚的看到类在PHP是怎么被运用的:
<?php
class Student
{
var $str_Name;
var $str_Sex;
var $int_Id;
var $int_English;
var $int_maths;
function Input ( $Name, $Sex, $Id, $English, $Maths)
{
$this->str_Name=$Name;
$this->str_Sex =$Sex;
$this->int_Id =$Id;
$this->int_English=$English;
$this->int_Maths=$Maths;
}
function ShowInfo()
{
echo (“姓名:$this->str_Name

”);
echo (“性别:$this->str_Sex

”);
echo (“学号:$this->int_Id

”);
echo (“英语成绩:$this->int_English

”);
echo (“数学成绩:$this->int_Maths

”);
}
}
$Wing = new Student;
$Wing->Input (“Wing”,”男”,33,95,87);
$Paladin = new Student;
$Paladin->Input (“paladin”,”女”,38,58,59.5);
$Wing->ShowInfo();
$Paladin->ShowInfo();
?>
执行结果应是这样的:
姓名:Wing
性别:男
学号:33
英语成绩:95
数学成绩:87
姓名:Paladin
性别:女
学号:38
英语成绩:58
数学成绩:59.5
PHP现有的版本较以前的版本在对面向对象编程的支持方面有了很大的改善,但支持的还不是很完整,不过现阶段PHP对面向对象编程语言提供的支持不但有利于我们设计程序的结构,对于对程序的维护也能提供很大的帮助 。