概念小结[作业]

2018-05-05  本文已影响0人  明日计划

要总结的概念

1.什么是继承?

举个小案例:
1 class Father():
2     def __init__(self,name):
3         self.name=name
4         self.property=3
5     def __str__(self):
6         return "%s喜欢python有%d种特长"%(self.name,self.property)
7 son=Father("小明")
8 print(son)
在这里面son继承的是一个叫Father的类的实例属性:喜欢Python有3钟特长。说的简单的是先定义一个类Father,然后创建一个实例对象son,son便可以继承Father的实例属性

2.什么叫多态?

举个案例如下:
1 class Father():
2     def __init__(self):
3         self.property=3
4     def __str__(self):
5         return "有%d种特长"%(self.property)
6     def python(self):
7         print("我是python全栈工程师")
8 class Mother():
9     def __init__(self):
10         self.skills=3
11     def __str__(self):
12         return "我会%d种专业技能"%self.skills
13     def sing(self):
14         print("我会唱歌")
15 
16 class Son(Father,Mother):
17     def java(self):
18         print("我对编程感兴趣")
19 xiaoming=Son()
20 xiaoming.python()
21 xiaoming.java()
22 print(xiaoming)
在这里我们定义了三个类:Father,Mother,Son ,创建一个实例对象为小明,小明为son类,既可以调用Father类的实例属性也可以调用Mother的实例属性,当然换可以重写专属于自己的属性和方法,其实多态就是更容易编写出出通用的代码,做出通用的编程,通过基础和重写以适应需求的不断变化!

3.类与对象

类:具有相同属性和行为的事物的总称
对象:就是类的具体实例
类和对象:类是对象的模子,对象是类的实例

4.什么叫重写?

举个例子:
  1 class Father():
  2     def __init__(self):
  3         self.property=3
  4     def __str__(self):
  5         return "有%d种特长"%(self.property)
  6     def python(self):
  7         print("我是python全栈工程师")
  8 class Mother():
  9     def __init__(self):
 10         self.skills=3
 11     def __str__(self):
 12         return "我会%d种专业技能"%self.skills
 13     def sing(self):
 14         print("我会唱歌")
 15 
 16 class Son(Father,Mother):
 17     def program(self):
 18         print("我对编程感兴趣")
 19     def python(self):
 20         print("我会python和java")
 21 xiaoming=Son()
 22 xiaoming.python()
 23 xiaoming.sing()
 24 xiaoming.program()
 25 print(xiaoming)
 Father的实例方法Python和Son的实例方法Python的实例方法虽然是一样的,但小明的调用的Python的却是Son的Python的方法,Father 的Python的方法被Son里的Python重写了。

4.什么是私有属性?

 在属性前加两个下划线变为私有属性

5.什么是私有方法?

  在方法前加两个下划线变为私有方法

6.多继承的注意点

在多继承中如果出现相同的调用方法,那么只能调用一个,并且按继承顺序调用

7.如何调用父类方法?

举个例子
 1 class Father():
 2     instance=8
 3     def __init__(self):
 4         self.skills=6
 5         print("father的方法")
 6     def __str__(self):
 7         return "我会的技能有%d种"%self.skills
 8     @classmethod
 9     def song(cls):
10         print("唱歌")
11     @staticmethod
12     def directory():
13         print("打印目录")
14 class Son(Father):
15     def __init__(self):
16         super().__init__()
17         Father.__init__(self)
18     def operate(self):
19         print("我的操作猛如虎")
20 xiaoming=Son()
Son类调用Father的__init__()实例方法有两种调用:1.super().__init__()
2.Father.__init__(self)

8.类方法写法,类属性写法,静态方法写法,魔法方法以及它们如何调用?

举个例子:
  1 class Father(object):
  2     instance=8
  3     def __new__(cls):
  4         print("要返回了...")
  5         return object.__new__(cls)
  6         print("第一次返回")
  7         return super().__new__(cls)
  8         print("第二次返回")
  9     def __init__(self):
 10         self.skills=6
 11         print("father的方法")
 12     def __str__(self):
 13         return "我会的技能有%d种"%self.skills
 14     def __del__(self):
 15         print("del功能要执行了.....")
 16     @classmethod
 17     def song(cls):
 18         print("唱歌")
 19     @staticmethod
 20     def directory():
 21         print("打印目录")
 22 class Son(Father):
 23     def __init__(self):
 24         super().__init__()
 25         Father.__init__(self)
 26     def operate(self):
 27         print("我的操作猛如虎")
 28 xiaoming=Son()
 29 print(id(xiaoming))
 以上就是类方法写法和调用,类属性写法和调用,静态方法写法和调用,魔法方法有和调用具体使用,这里不过分描述。
上一篇下一篇

猜你喜欢

热点阅读