当前位置:首页 科普知识 实例化

实例化

发布时间:2023-09-16 23:31:47

实例化

实例化是指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由类名 对象名 = new 类名(参数1,参数2...参数n)构成。

实例化简介

在面向对象的编程中,通常把用类创建对象的过程称为实例化,其格式如下:

如 Date date=new Date();就是用日期类创建了一个日期的对象,就叫对象的实例化。

多数语言中,实例化一个对象就是为对象开辟内存空间,或者是不用声明,直接使用new 构造函数名,建立一个临时对象。

例:Java

public class A{    public static void main(String args){        B b = new B();//实例化        b.print();    }}class B{    public void print(){        System.out.println("Hello,World!");    }}

例: c#

namespace test{    class A    {        public int Sub(int a)        {            return a++;        }    }    class B    {        public void Main(String args)        {            int p = (new A()).Sub(1);            System.Console.WriteLine(p);            System.Console.ReadKey();        }    }}

实例化使用方法

以PHP为例。

类不同于函数,定义完之后无法直接使用,因为类只是一个抽象的概念,需要通过关键字new来实例化类,才可以使用。类实例化的语法格式如下:变量名=new 类名()。其中,变量名可以为任何PHP变量的名称,构造参数取决于类的构造函数(将在8.2.5节中详细讲述),若无构造函数,则圆括号中为空。

实例化一个类后即可使用该类。

例如:

<?php     class People{         public $name;           public function introduceMySelf(){             echo '内容',$this->name.‘内容2’;         }      }      $p=new People(); ?>

如果要在类外使用类的属性和方法(前提是该属性或方法是可访问的),需要使用操作符->,语法格式如下:

实例化的类变量名->属性名;

实例化的类变量名->方法名();

使用类的方法与调用函数一样,在圆括号中给出函数参数(没有参数时当然就不用写了)。需要特别注意的是,在使用操作符->引用属性时,属性名是不加符号$的。

实例化类模板与函数模板实例化

实例化函数模板实例化

以C++为例,C++标准除支持隐式实例化模板函数外,还支持显式实例化。其语法格式如下:

template 返回类型 函数名<类型实参列表>(实参类型列表);

例如,若有以下函数模板:

template<typename T>void swap(T a ,T b){     T tempt=a;     a=b;     b=tempt;};

那么,以下语句是该函数模板的一个显式实例化:

template void swap<int>(int,int);

说明:template关键字之后不再跟"<>",否则就成了函数模板的特化。

实例化类模板的实例化

与函数模板相似,类模板只是一个虚的“图纸”。只有在编译期间,编译器根据给定的模板类型实参生成实实在在的模板类,这才是真实存在的类代码。函数模板实例化后会生成模板函数,类模板实例化后则会生成模板类。

在为不同模板实参类型实例化生成模板类时,编译器会为每种数据类型都生成一个模板代码的副本,所以结果会导致代码体积增大。因此,在实际调用过程中,编译器会有选择的实例化类模板中的成员函数,只有那些被调用了的函数,它对应的类模板成员函数才会被编译器实例化并生成。这就是类模板的“选择性实例化”。

温馨提示:
本文【实例化】由作者 百科大全 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6