Απλοποιημένη πρόσβαση σε namespaces στην αντικειμενοστραφή προγραμματισμό στην PHP

Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση Controller:

/admin/controller.php<?php
  namespace Admin;
  
  class Controller
  {
    
  }
?>

Ας υποθέσουμε επίσης ότι υπάρχει η κλάση Page, που κληρονομεί από την κλάση Controller:

/admin/page.php<?php
  namespace Admin;
  
  class Page extends \Admin\Controller
  {
    
  }
?>

Όπως βλέπετε, κατά την κληρονομικότητα υποδεικνύουμε το όνομα του γονέα μαζί με το namespace. Σε αυτό το παράδειγμα, ωστόσο, υπάρχει μια διαφορά: και οι δύο κλάσεις ανήκουν στο ίδιο namespace. Σε αυτήν την περίπτωση, κατά την πρόσβαση σε μια κλάση μπορούμε απλά να γράψουμε το όνομα αυτής της κλάσης, ως εξής:

/admin/page.php<?php
  namespace Admin;
  
  class Page extends Controller
  {
    
  }
?>
Задание 1

Δίνονται δύο κλάσεις:

php<?php
  namespace Modules\Shop;
  
  class Cart
  {
    
  }
?>
php<?php
  namespace Modules\Shop;
  
  class UserCart extends \Modules\Shop\Cart
  {
    
  }
?>

Απλοποιήστε τον κώδικα για την κληρονομικότητα της κλάσης, λαμβάνοντας υπόψη ότι και οι δύο κλάσεις βρίσκονται στο ίδιο namespace.