面向对象概念总结

0基础学习,到面向对象这,直接头大.简单总结了一下相关概念,这样就容易理解一些.
就是方法(函数)和变量打包在一起.
实例化就是给类的变量赋予了运行的参数.就可以调用他的方法来做事了.__init__就是实例化就会强制运行的初始化方法.
**实例(对象)**赋予了这些参数的类就是这个类的一个实例(对象)了
子类是在父类的基础之上派生出来的类,父类已经有的方法就不用再单独写了,可以继承.
通过实例(对象)找方法时,会优先找自己的类,自己的类里找不到,就去父类中去找.
特殊方法
#isinstance查看第一个参数是否第二个参数或其子类的实例
#issubclass查看第一个参数是否是第二个参数或其子类的类别
#hasattr查看第一个参数是否有某个属性,属性可以是变量或者方法

class ParentClass:
	def __init__(self,aa,bb):
		self.a = aa
		self.b = bb
		print("Parent Class Object Created")
	def someMethod(self,c):
		self.c = c
		print("Hello")

class ChildClass(ParentClass):
	def __init__(self,aa,bb,d,e):
		super().__init__(aa,bb)
		self.d = d
		self.e = e
		print("Child Class Object Created")

#实例化,对象(实例)的参数,会直接传递到类的初始化方法中
parent = ParentClass(1,2)#实例化时,初始化方法强制执行
print(parent.a)
#在类外部可以通过实例(对象)调用方法和变量
print("\n")
parent.someMethod(3)
print(parent.c)
#如果子类初始化方法中引用了父类的方法,实例化子类会同时执行引用的父类方法.
print("\n")
child = ChildClass(10,20,40,50)
print(child.a,child.b,child.d,child.e,end=' ')

#在类外部可以通过子类引用自己类以及父类中的方法\变量等
print("\n")
child.someMethod(3)
print(child.c)

#isinstance查看第一个参数是否第二个参数或其子类的实例
print("\n")
print(isinstance(parent,ParentClass),isinstance(5,int),isinstance(child,ParentClass),isinstance(child,(int,ParentClass)),end=" ")

#issubclass查看第一个参数是否是第二个参数或其子类的类别
print("\n")
print(issubclass(ChildClass,(ParentClass,ChildClass,int)))
#hasattr查看第一个参数是否有某个属性,属性可以是变量或者方法
print("\n")
print(hasattr(parent,'a'),hasattr(parent,"someMethod"),hasattr(parent,'b'),end=" ")

运行一下上述代码,将会帮助我们理解面向对象的概念.
xlionsky的学习笔记.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值