精华内容
下载资源
问答
  • 对象就是状态【属性和行为【函数】的集合体。 状态包含对象的特性。【也是变量】 行为包含对象能够执行的功能。【又是函数or方法】一般属性后面不加括号而行为后面一般有括号。对象的层次结构 浏览器对象 win...
    首先今天介绍了对象。
    js就是基于对象的一种语言。
    对象就是状态【属性】和行为【函数】的集合体。
     状态包含对象的特性。【也是变量】
     行为包含对象能够执行的功能。【又是函数or方法】
    一般属性后面不加括号而行为后面一般有括号。
    对象的层次结构
     浏览器对象   win    document
     脚本对象
     HTML对象
    在函数中用var 定义的对象【变量】为局部变量
    直接赋值的为 全局变量。
    匿名函数没有函数提升。
    三种属性 有 string【操作字符串】  Math   Date【时间】 图片

    展开全文
  • 如鸟类、人类、桌子、椅子等,它们具有某些共同的特征,有相同的行为、特性。 鸟类与人类都是生物,桌子椅子都是家具,在不同的情况下我们的使用的方式也不尽相同。 对象对象是复合某个类的定义所产生的实例,如...

    :类是同一类事物的统称。
    如鸟类、人类、桌子、椅子等,它们具有某些共同的特征,有相同的行为、特性。
    鸟类与人类都是生物,桌子椅子都是家具,在不同的情况下我们的使用的方式也不尽相同。

    对象:对象是复合某个类的定义所产生的实例,如鸟类中具体某一只小鸟,类是创建对象的模板或蓝图。

    属性:把对象划分为静态部分与动态部分,属性就是其静态部分,例如鸟的属性有羽毛的颜色,飞行速度的快慢,体型的大小等…它们描述鸟类的共同特征。
    行为:动态部分,如鸟飞行、觅食等基于属性而具有的动作。

    展开全文
  • 和对象、方法和属性

    千次阅读 多人点赞 2018-07-30 17:06:08
    2、类:具有相似属性和方法的对象的集合  是具有相同数据成员函数成员的一组对象的集合,它为属于该类的全部对象提供了抽象的描述。 3、面向对象程序设计的特点:封装 继承 多态  封装:面向对象技术中的封装...

    C#基础知识汇总:

    一、相关概念

    1、对象:现实世界中的实体(世间万物皆对象)

      对象,即系统中用于描述客观事物的一个实体,是构成系统的一个基本单位。

    2、类:具有相似属性和方法的对象的集合

      是具有相同数据成员和函数成员的一组对象的集合,它为属于该类的全部对象提供了抽象的描述

    3、面向对象程序设计的特点:封装 继承 多态

      封装:面向对象技术中的封装,简单来说就是将代码及其处理的数据绑定在一起,形成一个独立单位,对外实现完整功能,并尽可能隐藏对象的内部细节 。
      继承:继承(Inheritance)也称作派生,指的是特殊类的对象自动拥有一般类的全部数据成员与函数成员(构造函数和析构函数除外)。
      多态:多态性(Polymorphism)是指一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。

    面向对象三要素是:封装 继承 多态

    o_OOBase.gif

    封装

     封装就是事物抽象为类,把对外接口暴露,将实现和内部数据隐藏。

    继承

    面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

    通过继承创建的新类称为“子类”或“派生类”。

    被继承的类称为“基类”、“父类”或“超类”。

    继承的过程,就是从一般到特殊的过程。

    要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。

    在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。

     

    继承概念的实现方式有三类:实现继承、接口继承和可视继承。

    Ø         实现继承是指使用基类的属性和方法而无需额外编码的能力;

    Ø         接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;

    Ø         可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。

    在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承 Person 类。但是 Leg 类却不能继承 Person 类,因为腿并不是一个人。

    抽象类仅定义将由子类创建的一般属性和方法,创建抽象类时,请使用关键字 Interface 而不是 Class。

    OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。

     

    多态

    多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

    实现多态,有二种方式,覆盖,重载。

    覆盖,是指子类重新定义父类的虚函数的做法。

    重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。

    其实,重载的概念并不属于“面向对象编程”,重载的实现是:编译器根据函数不同的参 数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。如,有两个同名函数:function func(p:integer):integer;和function func(p:string):integer;。那么编译器做过修饰后的函数名称可能是这样的:int_func、str_func。对于这两个函数的 调用,在编译器间就已经确定了,是静态的(记住:是静态)。也就是说,它们的地址在编译期就绑定了(早绑定),因此,重载和多态无关!真正和多态相关的是 “覆盖”。当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态(记住:是动态!)的调用属于子类的该函数,这样的函数调用在编译 期间是无法确定的(调用的子类的虚函数的地址无法给出)。因此,这样的函数地址是在运行期绑定的(晚邦定)。结论就是:重载只是一种语言特性,与多态无 关,与面向对象也无关!引用一句Bruce Eckel的话:“不要犯傻,如果它不是晚邦定,它就不是多态。”

    那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承 可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时 候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。

     

    概念讲解

    泛化(Generalization)

    o_Generalization.gif

    图表 1 泛化

    在上图中,空心的三角表示继承关系(类继承),在UML的术语中,这种关系被称为泛化(Generalization)。Person(人)是基类,Teacher(教师)、Student(学生)、Guest(来宾)是子类。

    若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。

    例如,教师是人,Teacher 是Person的“一种”(a kind of )。那么类Teacher可以从类Person派生(继承)。

    如果A是基类,B是A的派生类,那么B将继承A的数据和函数。

    如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能和属性。

    若在逻辑上B是A的“一种”(a kind of ),则允许B继承A的功能和属性。

     

    聚合(组合)

    o_aggregationBase.gif

    图表 2 组合

    若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。

    例如,眼(Eye)、鼻(Nose)、口(Mouth)、耳(Ear)是头(Head)的一部分,所以类Head应该由类Eye、Nose、Mouth、Ear组合而成,不是派生(继承)而成。

     

    聚合的类型分为无、共享(聚合)、复合(组合)三类。

     

    聚合(aggregation)

     

    o_aggregation.gif

    图表 3 共享

    上面图中,有一个菱形(空心)表示聚合(aggregation)(聚合类型为共享),聚合的意义表示has-a关系。聚合是一种相对松散的关系,聚合类B不需要对被聚合的类A负责。

     

    组合(composition)

    o_composition.gif

    图表 4 复合

    这幅图与上面的唯一区别是菱形为实心的,它代表了一种更为坚固的关系——组合(composition)(聚合类型为复合)。组合表示的关系也是has-a,不过在这里,A的生命期受B控制。即A会随着B的创建而创建,随B的消亡而消亡。

     

    依赖(Dependency)

    o_Dependency.gif

    图表 5 依赖

    这里B与A的关系只是一种依赖(Dependency)关系,这种关系表明,如果类A被修改,那么类B会受到影响。

    4、对象的三要素:属性(对象是什么)、方法(对象能做什么)、事件(对象如何响应

    ☆相互关系:类是对象的抽象,对象是类的实例,类是一种抽象的分类,对象则是具体事物。

    比如如果车是一个类,某个人的一辆奔驰车就是一个对象,车的颜色质量就是它的属性,启动、停止这些动作则可以定义为车的方法

    二、类的定义与语法

    1、定义类:

    [修饰符] class 类名  

    {

       类成员

    }

     

    2、类的访问修饰符:public internal

    a) public:可访问域是所在的程序和任何引用的程序 访问不受限制

    语法:

     public class 类名

     {

       类成员

     }

     

    b) internal:可访问域定义范围内 (默认访问修饰符)

    语法:

    (internal) class 类名

     {

       类成员

     }

     

    3、类成员:数据成员和字段

    a)  数据成员:字段和常量

    字段:变量

    声明:类型 字段名

    例:

    public class Persion
    {
        public string name;
    }

     

    b) 方法成员 (方法是类的行为,告诉我们类能够做什么,)

     实例方法:

    修饰符 返回值类型 方法名(参数列表)

     {

          方法体

     }

     修饰符:如:public、private、protected、internal

     返回值类型:若方法无返回值,则使用 void

    例:

    public class Example01  //实例方法

    {

        public void SayHello()  //定义一个无参无返回的方法

        { 

        Console.WriteLine("Hello There")

    }

    static void Main()

    {

    Example01 objA=new Example01()

    objA.SayHello()    //创建对象并调用方法

    }

    }

     

    静态方法:

    修饰符 static返回值类型 方法名(参数列表)  //增加了static关键字

     {

          方法体

     }

    例:

    public class Example01  //实例方法

    {

        public static void SayHello()  //定义一个静态方法

        { 

        Console.WriteLine("Hello There")

    }

    static void Main()

    {

    Example01.SayHello()    //不需要创建对象

    }

    }

     

    静态方法与实例方法的区别静态方法只与类有关,它不依赖于对象的存在而存在;实例方法则在对象存在后才能使用。

     

    4、成员的访问修饰符:public、private、protected、internal

     a)  public:公有成员

     b) private:私有成员

     c) protected:保护成员

     d) internal:内部成员

    例:

    代码如下

    复制代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication2
    {
        public class Employee
        {
            private float sum;
            public int day;
            public float wage;
            //定义方法输出工资信息
            public void Show()
            {
                sum = day * wage;
                Console.WriteLine("工作时间:{0},每天工资:{1},总工资:{2}",day,wage,sum);
            }
        }
        class Program
        {
            static void Main(string[] args)
            {
                Employee employee = new Employee();
                employee.day = 20;
                employee.wage = 50;
                //employee.sum:无法访问  因为它为私有成员
                //调用方法现实工资
                employee.Show();
            }
        }
    }

     

     

     

     

    三、实例化对象:关键字:new

    语法:

    类 对象名称=new 类();

     

    例:

    代码如下

    复制代码

    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Text; 
      
    namespace ConsoleApplication1 

        public class car 
        { 
            private string carName; 
            private string carType; 
            private int price; 
      
            public string CarName 
            { 
                get { return carName; } 
                set { carName = value; } 
            } 
            public string CarType 
            { 
                get { return carType; } 
                set { carType = value; } 
            } 
            
            public int Price 
            { 
                get { return price; } 
                set { price = value; } 
            } 
      
            public void  action() 
            { 
                Console.WriteLine("一辆名叫{0}车,型号是{1},价钱是:{2}",carName,carType,price); 
            } 
              
        } 
      
        //创建实例并访问字段和方法 
        class Program 
        { 
            static void Main(string[] args) 
            { 
                //创建car类的实例 
                car vehicle = new car(); 
               //给实例赋值 
                vehicle.CarName = "奔驰"; 
                vehicle.CarType = "XZ001"; 
                vehicle.Price = 1000000; 
      
                //调用方法 
                vehicle.action(); 
      
      
      
            } 
        } 
    }

     

     

    四、属性

    1、

     a) 概念:用于访问类的字段的成员

     b) 属性用途:保证数据安全,作数据的验证

     

    2、声明:

    访问修饰符 数据类型 属性名

    {

      get{return 字段;}  //读访问器,通过它外部用户可以读取属性的值

      set{字段=value;}  //写访问器,通过它外部用户可以为属性赋值,用户输入的值就存放在value关键字中,并可以进行输入值验证               

    }

    例:

    public class Student

    {

    private int age;   //私有字段,防止用户直接访问

    public int Age

    {

    get{return age;}  //用于读取age的值

    set

    {

    if((value>=18)&&(value<=45))

    age=value;  //为age赋值并验证

    else

    age=18;

    }

    }

    }

     

    3、特殊属性:

    a) 只读属性:

    public 数据类型 属性名称

    {

    get{return 字段;}

    }

    b) 自动属性:

    public 数据类型 属性名称{get;set;}

     

    五、方法的参数

    1、值参数:按值传递

    2、引用参数:向方法传递实参在内存中的地址,按地址传递

    3、输出参数:从方法传递回一个结果

    关键字:out

    4、数组型参数:参数只允许是一组数组,当方法的参数前带有params关键字时,就是带数组型参数的方法(使用引用传递)

    展开全文
  • 对象属性则不具有多态性

    千次阅读 2013-05-21 18:10:10
    多态出现的缘由:java的引用变量有两种类型:一个是编译时的类型,一个是运行时类型。  编译时类项:声明该变量时使用的类型决定。  运行时类项:实际赋给该变量的对象决定... 如果编译时运行时类项不一样就

    多态出现的缘由:java的引用变量有两种类型:一个是编译时的类型,一个是运行时类型。

                                   编译时类项:声明该变量时使用的类型决定。

                                   运行时类项:实际赋给该变量的对象决定

                                   如果编译时和运行时类项不一样就会出现所谓的多态(polymorphism)。

     多态:相同类项的变量执行同一个方法时,呈现出不同的行为特征这就是多态。

    注意:引用变量在编译阶段只能调用其编译时类项所具有的方法,但运行时则执行运行时类项所具有的方法,因此编译java代码时,引用变量只能调用声明该变量时类项里包含的方法,如:Object p = new Person()定义一个变量p,p只能调用Object类得方法而不能调用person类里定义的方法。

     

    与方法不同的是对象的属性则不具有多态性:

                                       

    Class BaseClass{

         Public int book = 9;

    }

    Class SubClass extends BaseClass{

         Public String book = “子类属性”;

    }

     BaseClass bc = new BaseClass();

     SubClass sc = new SubClass();

     BaseClass bsc = new SubClass();

     

    上面程序显示创建了3个对象,实际内存里包含了5个人对象(如果不算BaseClass继承java.lang.Object类)因为当系统创建sc,bsc两个变量所引用的对象时系统会隐式的为其各自创建对应的父类对象,其父类对象可以在SubClass中通过super引用来访问,因此不管是sc还是bsc变量,它们都可访问到两个book属性,其中一个来自BaseClass的实例属性,一个来自SubClass中的实例属性,通过引用变量来访问其实例属性时,系统总是试图访问编译时类所定义的属性,而不是运行时类所定义的属性。

    展开全文
  • 只不过,面向对象语言不同的实现不同而形式不一样,比如静态语言就是用类型这个事物来使得对象具有某种属性,在实例化以后可以通过改变属性的值来改变对象的状态。而行为的动态变化特征对于使用类型模板技术的静态...
  • 对象属性、方法、 封装与继承

    千次阅读 2017-10-03 22:09:40
    属性对象具有的各种特征,每个对象的每个属性都拥有特定值 方法:对象执行的操作 类图详解: 如图 类的产出 从对象中归纳、抽象出类 根据"对象"抽象出"类" 类 具有相同属性和方法的一组对象的集合 类是模子...
  • C#---类,对象属性属性值,方法

    千次阅读 热门讨论 2017-03-12 18:55:57
    C#---类,对象属性属性值,方法
  • 我们通过描述属性特征和行为来描述一个对象的。比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性特征。它会汪汪叫,会摇尾巴等是它的行为。 我们在描述一个真实对象(物体)时包括两个方面: 它可以做...
  • 属性对象具有的各种特征 每个对象的每个属性都有特定值;例如小红小明的年龄,姓名不一样 方法:对象执行的操作 类:--------抽象 类是对象概括,是对象的分类 具有相同属性和方法的一组对象的集合 是概念...
  • 具有特征和行为,映射到类的字段方法。字段属性是为了保护字段作用,构造函数起初始化对象作用。类名与函数名第一个字母需大写,大括号前面一行代码结尾不需要分号。 需进一步搞清除知识点:类,字段,方法等前...
  • 现在介绍如何为一个对象添加、修改或 者删除属性和方法。...供了灵活的机制来修改对象行为,可以动态添加、修改、删除属性和方法。例如首先使用 类Object来创建一个空对象user: var user=new Objec
  • C# 类、对象属性、方法

    千次阅读 多人点赞 2017-03-05 10:05:24
    前言:  C#视频看完有些日子了,总结一下收获吧!学习是一个不断思考总结的的过程,从总结中也能查漏补缺。... 类:具有相似属性和方法的集合。  对象:客观真实存在的物体或者事物,看得见摸得着。  属
  • VB中的对象属性,事件,方法

    千次阅读 2019-01-08 11:47:47
    对象: 将数据处理该数据的过程(函数子程序)打包在一起而生成的新...所有的对象都具有自己的特征,称为属性:外界对对象的刺激能引起对象的响应,这种刺激称为事件:各种对象具有特定的功能,称为方法。 ...
  • 1.ES5中每个对象的每一个属性都有一个相应的描述对象,用于控制这个属性行为。每个对象都有四个数据特征。 configurable 对象属性是否可重新定义 作用:能否使用delete、能否需改属性特性、或能否修改访问器属性、...
  • 对象 对象就是现实社会中,随处可见的一种食物就是对象对象是事物存在的...类:具有相同特性(数据元素)和行为(功能)的对象的抽象就是类,是同一类实物的统称。如鸟类、人类、植物类、哺乳动物类非哺乳动...
  • 目录 对象属性与类属性属性与方法 类的私有属性 类的方法 类的私有方法 ...动态给实例添加方法和属性并使用 ...对象属性与类属性 ...在python中,把具有相同属性和方法的对象归为一个类(class) ...
  • javascript中String 对象属性和方法

    万次阅读 2004-09-26 15:54:00
    constructor 属性是每个具有原型的对象的原型成员。这包括除了 arguments、Enumerator、Error、Global、Math、RegExp、Regular Expression VBArray 对象以外的所有内部 JScript 对象。constructor 属性包含了对...
  • Python类和对象1

    2020-12-22 11:44:40
    面向对象中的对象(Object),通常指客观世界存在对象,对象具有唯一性,对象之间各不相同,各有特点,每个对象有自己的运动规律内部状态。 对象对象之间相互联系,相互作用,对象也可以是一个抽象事物,时间万物皆...
  • 它主要通过标签来定义对象的显示属性行为。 如果把java的源文件直接拷贝到HTML文档中,用浏览器直接打开,会发现本来整齐有序的源文件变成了一团遭。 这是因为,文本中的许多回车空格都被忽略了。而有些符号在...
  • 学习本篇文章后会了解到:类的创建,为对象添加属性对象的初始化,自定义对象的输出,类属性和类方法的创建。 1. 类的定义与格式 类是对一群具有相同特征或者行为的事物的一个统称。 类是一个模块,是...
  • 创建一个Dog类,初始化构造方法具有nameage属性。Dog类具有打滚的方法。请编写相应的类并创建对象调用该类。 class Dog(object): def __init__(self,name,age): self.name = name self.age = age def ...
  • python类、对象、方法、属性之类与对象

    千次阅读 多人点赞 2016-03-09 10:49:38
    我们通过描述属性特征和行为来描述一个对象的。比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性特征。它会汪汪叫,会摇尾巴等是它的行为。 我们在描述一个真实对象(物体)时包括两个方面: 1.它...
  • 我也不清楚“特征”这两个字用的是否对,头疼属性:变量 不变量 状态:过去状态,当前状态行为:对内计算行为(计算规则) 对外交互行为(输入接口 输出接口)...
  • 如果您的数据对象具有与字典表示中的键相同命名的属性,则其值将映射到数据对象上的属性。 NSDictionary representation -> Class object {"name":"This is some name"} -> object.name 默认情况下会忽略未定义的...
  • Java - 类和对象

    2020-03-20 17:11:25
    类 类是抽象的概念,仅仅是模板,确定对象将会拥有的特征属性和行为(方法) 类是对象的类型 ...属性对象具有的各种静态特征——“有什么” 方法:对象具有的各种动态行为——“能做什么” ...
  • 我们通过描述属性特征和行为来描述一个对象的。比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性特征。它会汪汪叫,会摇尾巴等是它的行为。 我们在描述一个真实对象(物体)时包括两个方面: 它可以...
  • 什么是类、对象属性、方法、类的成员

    万次阅读 多人点赞 2018-01-31 11:12:05
    类:具有同种属性对象称为类,是个抽象的概念。比如说:汽车、人、狗、神; 对象:日常生活中的所有东西都是对象,是类的实例化。比如说:推土车是汽车的实例化;姚明是人的实例化;小白(狗的名字)是狗的实例化...
  • Scala教程(六)类、属性和对象字段

    千次阅读 2015-09-22 10:40:28
    定义类:Scala是一种纯粹的面向对象编程语言,而又无缝地结合了命令式函数式的编程风格。在面向对象的语言有两个重要的概念:类(class)和对象(object...scala继承(extends):子类继承父类的特征和行为,使得子类具有
  • 在javascript中添加、修改或者删除对象实例的属性和方法 ...中却非如此,它提供了灵活的机制来修改对象行为,可以动态添加、修改、删除属性和方法。例如首先使用Object对象来创建一个user实例  var user

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 257,230
精华内容 102,892
关键字:

对象具有属性和行为特征