面向对象编程:Perl OOP中的类

2021年3月10日15:57:06 发表评论 804 次浏览

本文概述

在这个现代的世界中, 编程的使用已达到最大, 并已应用到我们生活的每一项工作中, 我们需要使自己适应直接与实际示例关联的编程范式。现实问题的竞争力和复杂性已经发生了巨大变化, 因此, 该行业现在需要一些通用的方法来应对这些复杂性。面向对象的程序设计语言的概念可以轻松应对这些复杂性, 并且是一种以现实世界中的示例变得非常容易解决的方式来构造任何程序设计语言的完美方式。面向对象编程(OOP)使用强调对象而不是过程的方法。 OOPs概念是关于对象以及对象之间的交互进行工作的。

注意:面向对象的编程旨在实现诸如遗产, 封装, 多态性, 等等。 OOP的主要目的是将数据和对其进行操作的功能绑定在一起, 以便除该功能外, 代码的其他任何部分都无法访问此数据。

对象–

对象是具有某些特征和行为的数据结构类的实例。例如, 我们说"苹果"是一个对象。其特点是:这是一种水果, 它的颜色是红色等。它的行为是:"味道很好"。在OOP的概念中, 对象的特征由其数据表示, 行为由其关联的功能表示。因此, 对象是存储数据并通过功能具有其接口的实体。

类–

类是数据结构的扩展概念。它定义了包含数据的对象的原型蓝图。对象是类的实例。一个类由数据成员和数据函数组成, 它是根据用户要求创建的预定义数据类型, 可以通过创建该类的实例来访问和使用。

例子:

考虑一类

学校

。可能会有不同名称和结构的学校, 但它们都具有一些共同的特征, 例如学生, 教师, 教职员工等。因此, 这里的学校是由教师, 学生和父母作为数据成员的班级, 成员函数可以由calculate_students_marks (), calculate_teachers_salary()和Parents_Database()。

数据成员:

数据成员是数据变量, 成员函数是用于操纵这些变量的函数, 这些数据成员和成员函数共同定义了类中对象的属性和行为。

Perl | OOP中的类1

定义课程–

Perl中定义一个类非常容易。在Perl中, 类对应于包。要定义一个类, 我们首先加载并构建一个包。包是用户定义的变量和子例程的预先包含的单元, 可以在整个程序中使用。

语法如下:

package Class_name

创建类和使用对象

可以使用关键字package创建Perl中的类, 但是要创建一个对象,

建设者

叫做。构造函数在类中定义为方法。

创建一个类的实例

类名和构造函数名可以根据用户的要求。大多数程序员更喜欢使用" new"作为其程序的构造函数名称, 因为它比其他任何复杂的构造函数名称都易于记忆并且更可行。

package student     // This is the class student
sub Student_data    // Constructor to class
{
     my $class = shift ;
     my $self = {
                 _StudentFirstName => shift ;
                 _StudentLastName => shift ;
                };
                 
     print "Student's First Name is $self ->{_StudentFirstName}\n" ;
     print "Student's Last Name is $self ->{_StudentLastName}\n" ;
     bless $self , $class ;
     return $self ;
}

在上面的示例代码中, 名为

保佑

用来。此函数用于将对象附加到作为参数传递给它的类。

语法如下:

bless Object_name, Class Name

创建一个对象

使用类中定义的构造函数实例化Perl中的对象。根据用户的需要, 对象名称可以是任何变量, 但是通常会根据与类的相关性来命名它。

$Data = Student_data student( "Shikhar" , "Mathur" );

例子:

use strict;
use warnings;
  
package student;
  
# constructor
sub student_data
{
  
     # shift will take package name 'student' 
     # and assign it to variable 'class'
     my $class_name = shift ;
     my $self = {
                 'StudentFirstName' => shift , 'StudentLastName' => shift
                };
     # Using bless function
     bless $self , $class_name ;
      
     # returning object from constructor
     return $self ;
}
  
# Object creationg and constructor calling
my $Data = student_data student( "Geeks" , "forGeeks" );
  
# Printing the data
print "$Data->{'StudentFirstName'}\n" ;
print "$Data->{'StudentLastName'}\n" ;

输出如下:

Geeks
forGeeks

在面向对象编程中使用类的概念非常重要, 因为它完整地描述了实际应用, 并且可以在实际问题中采用。


木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: