python---class(一): 클래스와 기본 클래스 소개
'속'(is-a)과'유'(has-a)라는 두 가지 관계를 구분한다.'속'은 계승이다. 이런 관계에서 파생류의 한 대상도'기류'의 한 대상에 속한다.
"있음"은 "작성"입니다. 이 관계식에서 한 객체는 다른 클래스의 하나 이상의 객체에 대한 참조를 ""가짐""하고 후자는 전자 멤버입니다."
기류는 초류이고, 파생류는 자류이다.
파생 클래스의 형식을 만들려면 다음과 같이 하십시오.
class Paishenclassname(Jileiclassname):
...
#class ( ):
....
# : Paishenclass Jileiclass 、
다음 예는
추가 정보:
issubclass(A, B), A클래스가 B클래스의 하위 클래스인지 판단;
isinstance(a, A), a가 A류의 대상인지 아닌지를 판단한다.
A.__bases__,클래스 A의 기본 클래스를 반환합니다. 기본 클래스가 없으면
예를 들어 원은 점의 하위 클래스이다.
import math
class Point:
'''Class that represents geometric point'''
def __init__(self,xValue=0,yValue=0):
'''Point constructor take x and y coordinates'''
self.x=xValue
self.y=yValue
class Circle(Point):
'''Class that represents a circle'''
def __init__(self,x=0,y=0,radiusValue=0.0):
'''Circle corstructor takes x and y coordinates of center
point and radius'''
Point.__init__(self,x,y)#class base-class constructor
self.radius=float(radiusValue)
def area(self):
'''Computes area of a Circle'''
return math.pi * self.radius ** 2
#main program
#examine classes Point and Circle
print("Point bases:",Point.__bases__)
print("Circle bases:",Circle.__bases__)
print("Point is a subclass of Circle:",issubclass(Point,Circle))
print("Circle is a subclass of Point:",issubclass(Circle,Point))
point =Point(30,50)#create Point object
circle=Circle(120,89,2.7)#create Circle object
print("
circle is a Circle object:",isinstance(circle,Point))
print("point is a Circle object:",isinstance(point,Circle))
print("Circle is a point object:",isinstance(circle,Point))
#print Point and Circle objects
print ("
point members:
\t",point.__dict__)
print("circle menbers:
\t",circle.__dict__)
print("
Area of circle:",circle.area())
실행 결과:
Point bases: (,)
Circle bases: (,)
Point is a subclass of Circle: False
Circle is a subclass of Point: True
circle is a Circle object: True
point is a Circle object: False
Circle is a point object: True
point members:
{'x': 30, 'y': 50}
circle menbers:
{'x': 120, 'y': 89, 'radius': 2.7}
Area of circle: 22.902210444669596
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.