PHP - 继承 - 子类使用父类方法
<?php
class ShopProduct {
private $FirstName;
private $LastName;
private $Title;
private $Price; public function __construct( $fistname, $lastname, $title, $price ) {
$this->FirstName = $fistname;
$this->LastName = $lastname;
$this->Title = $title;
$this->Price = $price;
} public function getProductName() {
$str = '';
$str .= $this->FirstName . '-' . $this->LastName;
return $str;
} public function getSummary() {
$str = '';
$str .= $this->FirstName . '-' . $this->LastName . '-' . $this->Title . '-' . $this->Price;
return $str;
}
} class CdProduct extends ShopProduct {
private $Playlength; public function __construct( $fistname, $lastname, $title, $price, $length) {
//调用父类 构造方法
parent::__construct( $fistname, $lastname, $title, $price );
$this->Playlength = $length;
} public function getSummary() {
$str = parent::getSummary();
$str .= '-' . $this->Playlength;
return $str;
}
} class BookProduct extends ShopProduct {
private $numPage; public function __construct( $fistname, $lastname, $title, $price, $numpage ) {
parent::__construct( $fistname, $lastname, $title, $price );
$this->numPage = $numpage;
} public function getSummary() {
$str = parent::getSummary();
$str .= '-' . $this->numPage;
return $str;
}
} /**
* 调用
*/
$cdproduct = new CdProduct('cdone', 'cdtwo', 'cdtitle', 200, 300); echo $cdproduct->getProductName(); echo '<br>'; echo $cdproduct->getSummary(); echo '<hr>'; $bookproduct = new BookProduct('bookone', 'booktwo', 'booktitle', 100, 200); echo $bookproduct->getProductName(); echo '<br>'; echo $bookproduct->getSummary();
调用结果:

PHP - 继承 - 子类使用父类方法的更多相关文章
- python面向对象的三大特征--继承子类调用父类方法
#在子类中调用父类方法 class Vehicle: country="China" def __init__(self,name,speed,load,power): self. ...
- java继承 子类重写父类方法
package com.addd; //多态 public class Sld { private String name = "zhangsan"; public Sld() { ...
- OC 继承子类对象调用方法机制 子类对象访问父类中的实例变量
在继承中,子类对象如何调用到正确方法的机制 每一个Objective - C对象都有一个隐藏的指针指向类的代码,当向一个对象发送消息的时候,当前的对象会首先在当前类里去查找相应的方法,如果找到的话,直 ...
- python3 面向对象、类、继承、组合、派生、接口、子类重用父类方法
对象是特征(变量)与技能(函数)的结合体而类是一系列对象共同的特征与技能的集合体 class teacher: lesson = "python" def __init__(sel ...
- java继承-子类调用父类的方法中包含子类重写的方法
# 看题目是不是很绕,这个我也不知道怎么才能更简单的表达了... # 先看代码: public class Common { public static void main(String[] args ...
- Python类总结-继承-子类和父类,新式类和经典类
子类和父类 class Father(object): #子类在使用super调用父类时,Father后面要加object --新式类 def __init__(self): self.Fname = ...
- Java中子类覆盖父类方法所必须满足的条件
因为太喜欢,所以转来,侵删! 参考自:http://www.it165.net/pro/html/201504/39284.html 一.描述 子类重写(覆盖)父类的方法必须满足的条件:1.父类中的方 ...
- Java学习笔记13---如何理解“子类重写父类方法时,返回值若为类类型,则必须与父类返回值类型相同或为其子类”
子类重新实现父类的方法称重写:重写时可以修改访问权限修饰符和返回值,方法名和参数类型及个数都不可以修改:仅当返回值为类类型时,重写的方法才可以修改返回值类型,且必须是父类方法返回值的子类:要么就不修改 ...
- Java子类重写父类方法注意问题收集(转)
子类不能重写父类的静态方法,私有方法.即使你看到子类中存在貌似是重写的父类的静态方法或者私有方法,编译是没有问题的,但那其实是你重新又定义的方法,不是重写.具体有关重写父类方法的规则如下: 重写规则之 ...
随机推荐
- 如何修改MFC发布程序的图标
(1)第一种方法,直接替换工程路径下面res下面的ico图标,然后重新编译,一般需要重启系统才会生效: (2)第二种方法,在VS工程资源预览窗口的ICO下增加一个ico资源,名为IDR_ICON1,然 ...
- 如何隐藏DLL中,导出函数的名称?(转)
如何隐藏DLL中,导出函数的名称?(转) 一.引言 很多时候,我们写了一个Dll,不希望别人通过DLL查看工具,看到我们的导出函数名称.可以通过以下步骤实现: 1. 在def函数中做如下定义: L ...
- malloc/free和new/delete的区别汇总
一.基本概念 malloc/free 1.函数原型及说明: void* malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针.如果分配失败,则返回 ...
- jquery弹出层拖拽
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...
- 0603 python 基础02
作业1:ANSI和utf8的区别? ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits). 可以表示的最大字符数是256,一般只用前128个(最高位为0),其中包括 ...
- [LeetCode]题解(python):115-Distinct Subsequences
题目来源: https://leetcode.com/problems/distinct-subsequences/ 题意分析: 给定字符串S和T,判断S中可以组成多少个T,T是S的子串. 题目思路: ...
- Android UiAutomator 自动化测试编译运行---新手2
1.首先打开eclipse创建java项目
- java 显示视频时间--玩的
1.显示视频时间 package view.time; import it.sauronsoftware.jave.Encoder; import it.sauronsoftware.jave.Mul ...
- 射频识别技术漫谈(24)——ISO15693的防冲突与传输协议
遵守ISO15693协议的电子标签都有一个8字节共64bit的全球唯一序列号(UID),这个UID一方面可以使全球范围内的标签互相区别,更重要的是可以在多标签同时读写时用于防冲突.8字节UID按权重从 ...
- C++ 用libcurl库进行http 网络通讯编程
一.LibCurl基本编程框架libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议.libcur ...