lua-面向对象(创建与实例化)

Test1.lua

--name,age就相当于字段。eat就相当于方法 person = {name = 'Ffly',age = 20} function person:eat()     print(self.name .. '该吃饭饭了,饿死了') end  --这个方法用于实例化使用 function person:new()     local self = {}     --使用元表,并把__index赋值为person类     setmetatable(self,{__index = person})          return self end

Test2.lua

require "Test1"  --实例化person类 person1 = person:new()  person1:eat() --正常输出

 

推荐这些文章:

面向对象

方法:
绑定方法:

默认有一个self参数,由对象进行调用(此时self就等于调用方法的这个对象)【对象&类均可调用】

示例:点击查看代码
class Foo(object):
def __init__(self, name):
self.name = name

def f1(self):
print("绑定方法", self.name)

obj=Foo("yy")
obj.f1()
# 绑定方法 yy

类方法:

默认有一个cls参数,用类或对象都可以调用(此时cls就等于调用方法的这个对象)【对象&类均可调...

面向对象(二)

面向对象(二)

添加对象属性

class Person:
address='河北'
def __init__(self,name):#初始化方法
#self代表实例化对象
self.keyname=name
def func(self,sex):#实例化方法,普通方法
self.sex=sex
obj=Person('张三')
#类的外部添加属性
obj.age=20
print(obj.age)#20
# 类的内部添加属性
print(obj.__dict__)#{'keyname': 'Lisa', 'age':...

什么是面向对象,如果你想知道什么是面向对象的话,我现在就带你一起研究

什么是面向对象

面向对象编程
面向对象编程的本质就是:以类的方式组织代码,以对象的方式组织(封装)数据
抽象:编程思想!持续的学习,茅塞顿开!多实践,多测试大脑中的想法!实践出真知
三大特性

封装
继承
多态

从认识角度考虑是现有对象后有类。对象,是具体的事务。类,是抽象的,是对对象的抽象
从代码运行角度考虑是先有类后又对象。类是对象的模板

/*
* 1.类和对象
* 类是一个模板:抽象,对象是一个具体的实例
*2.方法
* 定义,调用!
*3.对象的引用
* 引用类型:基本类型(8)
* 对象是通过引用来操作的:栈...

面向对象-对象创建和分析

对象的创建分析
创建与初始化对象
使用new关键字创建对象
使用new关键字创建对象时,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。
类中的的构造器也称为构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两种特点:

必须和类的名字相同

必须没有返回类型,也不能写void
构造器需要掌握
//学生类
public class Student {
//属性:字段
String name; //null
int age; //0

//方法
public void study(){...

python---面向对象(二)类的成员

 1. 类方法
1. 创建类方法和调用
创建类方法

class Animal(object):
def eat(self, food):
print(f'eating {food}')
def play(self):
print('eating')
def sleep(self):
print('sleeping')

调用类方法
在调用时,使用对象.实例方法的形式调用

dog = Animal() #实例化对象
dog.eat('meat') #通过实例对象调用方法
dog.play() ...

面向对象程序设计(Java)实验5

目录实验要求实验内容
实验要求
编写一Person类,通过重写toString()、equals()、hashcode()方法,实现可以对Person类实例化出的对象进行equals和==的比较。
实验内容
package test5;

import java.util.Objects;

class person {
String sex;
int age;
String name;
boolean notempty;
public person(String sex,int age,String name){
this.sex =...

面向对象之类方法,属性方法,和静态方法

一、静态方法
可以利用@staticmethod装饰器把一个方法变成一个静态方法。静态方法不可以方法实例变量或者类变量,也就是说不可以使用self.属性这样子调用实例属性了。其实静态方法就和类本身没什么关系了,它和类
唯一的关联就是需要通过类名来调用这个方法。
错误调用方式:
复制代码
class Dog(object):
def init(self,name):
self.name = name
@staticmethod #把eat方法变为静态方法
def eat(self):
print("%s is eating" % self.name)
d = Dog("ChenRonghua"...

面向对象继承的几种方式

类式继承
一般类式继承是继承私有属性,调用父类通过call改变子类this指向
 function Person1(name,age){    this.name = name;    this.age = age;   }   function Coder1(name,age,job){    //调用父类Person,通过call改变this    Person1.call(this,name,age);    this.job = job;   ...

python---面向对象(三)类的继承与方法重写

1. 类的继承
1. 继承
一个类继承另一个类时,将自动获得另一个类的所有公有属性和方法。原有的类称为父类,而新类称为子类。子类继承了父类的所有公有属性和方法,同时还可以定义自己的属性和方法。

 
 

class Animal(object):
age = 5

def __init__(self, name):
self.name = name #实例属性

def eat(self, food):
print(f'{self.name} is eating {food}')

def play(...

python---面向对象(一)类和实例

1. 什么是类,什么是实例?
类是一组相似事物的统称。类是抽象的模板
实例是根据类(模板)创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。

 
 
 2. 如何创建类和实例?
创建类:
使用class关键字来创建, 类名一般用大驼峰法命名(单词首字母大写), object类是所有类的根类,在Pyth on中任何一个类(除object外)都直接或间接地继承了object,直接继承 object时(object)部分的代码可以省略。

 
 实例
类相当于一个模板,依据这样的模板来创建对象Car(){类...

文章标题:lua-面向对象(创建与实例化)
文章链接:https://www.dianjilingqu.com/411.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>