什么是类、对象、属性、方法、成员?

原文地址:http://blog.csdn.net/u012767263/article/details/17002129#comments

 日常生活中的所有东西都是对象,而具有同种属性的一类事物被称为,人、动物、植物、车都是类(是抽象的),而姚明这个人就是一个具体的对象。

对象是类的实例化,比如唐伯虎点秋香里面的小强是蟑螂的实例化。
我们一般不会用类的名称类称呼一个对象。
周星驰说“小强,你死得好惨啊!”,而不是说“蟑螂,你死得好惨啊!”。
这里“蟑螂”是类名,而小强是对象的名称。

属性用来描述具体某个对象的特征。比如姚明身高2.26M,体重100KG,这里身高、体重都是属性。
面向对象的思想就是把一切都看成对象,而对象一般都由属性+方法组成,比如说张三,嘴巴可以看成他的一个属性,而说话成可以看成他的一个方法,其实方法就是一些function函数。

属性属于对象静态的一面,用来形容对象的一些特性,方法属于对象动态的一面,你可以用这些方法来操作一个对象,我们把属性和方法称为这个对象的成员

总结下:
类:具有同种属性的对象称为类,是个抽象的概念。比如说:汽车、人、狗、神;
对象:日常生活中的所有东西都是对象,是类的实例化。比如说:小强是蟑螂的实例化,
属性:用来描述具体某个对象的特征的是属性,是静态的。比如:姚明身高2.26米;
方法:每个对象有它们自己的行为或者是使用它们的方法,比如说一只狗会跑会叫等,我们把这些行为称之为方法,是动态的,可以使用这些方法来操作一个对象;
类的成员:属性和方法称为这个对象的成员,因为它们是构成一个对象的主要部分,没有了这两样东西,那么对象也没什么存在意义了。

下面介绍下在JavaScript中如何声明一个类
Java,c#等语言中,是以class关键字来声明一个类的

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//比如在C#中声明一个Person类
//这是一个典型的类,它包含一个字段、一个方法和一个称为构造函数的特殊方法
public class Person{
     // Field
     public string name;
 
     // Constructor
     public Person(name){
         name = name;
     }
 
     // Method
     public void Sayhello( string friend){
         System.Console.WriteLine( "hello!" + friend + ",my name is" +name);
     }
}

但是在javascript中使用了与声明函数一样的方式来声明类,这让许多初学js的同学很迷惑,不过熟悉了自然就理解了。
下面我们用javascript来实现上面的Person类.

PS:虽然javascript不是“面向对象”的语言,最多只能说是“基于对象”,但是如果是初学者,最好不要太过于纠结这个,我们索性就把他当作面向对象的语言,只是形式上有些差别。

?
1
2
3
4
5
6
7
8
9
10
11
//这里用js定义了一个与上面c#定义的一样功能的类
//function就是Person类的构造函数
//构造函数是一种特殊的成员函数,它主要用于为对象分配存储空间,对数据成员进行初始化.
function Person(name){
     // Field
     this .name = name;
     // Method
     this .Sayhello = function (friend){
         document.write( "hello!" + friend + ",my name is" +name);
     }
}

上面说过具有同种属性的事物被称为类,是个抽象的东西
我们使用类作为母板来创建一个对象,这个过程倍称为“实例化”,下面我们实例化一个Person类

?
1
2
var lilei = new Person( "lilei" );
lilei.Sayhello( "hanmeimei" ); //输出:hello!hanmeimei,my name is lilei

TODO:字段,属性,静态属性,原型等概念


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值